build: Move -s
additional compiler flags into linker flags, and enable it only when gcc/clang are used. (#1087)
Compiler when compiling doesn't use them in those cases and emit a warning, which is turned into an error by `-Werror`. Unfortunately, CPack doesn't expose the logic it uses for stripping binaries.
This commit is contained in:
parent
608c9e2e7a
commit
749823e044
@ -1,12 +1,12 @@
|
|||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
|
|
||||||
if(IMHEX_STRIP_RELEASE)
|
if(IMHEX_STRIP_RELEASE)
|
||||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
|
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||||
set(CPACK_STRIP_FILES TRUE)
|
set(CPACK_STRIP_FILES TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||||
|
add_link_options($<$<CONFIG:RELEASE>:-s>)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
macro(addDefines)
|
macro(addDefines)
|
||||||
|
@ -70,4 +70,4 @@ elseif (APPLE)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries(libimhex PRIVATE ${FMT_LIBRARIES})
|
target_link_libraries(libimhex PRIVATE ${FMT_LIBRARIES})
|
||||||
target_link_libraries(libimhex PUBLIC dl imgui ${NFD_LIBRARIES} magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} ${LIBBACKTRACE_LIBRARIES} libpl ${MINIAUDIO_LIBRARIES} libwolv-utils libwolv-io libwolv-hash libwolv-net libwolv-containers)
|
target_link_libraries(libimhex PUBLIC dl imgui ${NFD_LIBRARIES} magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} ${LIBBACKTRACE_LIBRARIES} libpl ${MINIAUDIO_LIBRARIES} libwolv-utils libwolv-io libwolv-hash libwolv-net libwolv-containers)
|
||||||
|
@ -39,4 +39,4 @@ endif ()
|
|||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
add_compile_definitions(GL_SILENCE_DEPRECATION)
|
add_compile_definitions(GL_SILENCE_DEPRECATION)
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -44,4 +44,4 @@ if (WIN32)
|
|||||||
set_target_properties(${LIBROMFS_LIBRARY} PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
set_target_properties(${LIBROMFS_LIBRARY} PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBROMFS_LIBRARY})
|
target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBROMFS_LIBRARY})
|
||||||
|
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -44,4 +44,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAK
|
|||||||
foreach (test IN LISTS AVAILABLE_TESTS)
|
foreach (test IN LISTS AVAILABLE_TESTS)
|
||||||
add_test(NAME "${TEST_CATEGORY}/${test}" COMMAND ${PROJECT_NAME} "${test}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
add_test(NAME "${TEST_CATEGORY}/${test}" COMMAND ${PROJECT_NAME} "${test}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
endforeach ()
|
endforeach ()
|
||||||
add_dependencies(unit_tests ${PROJECT_NAME})
|
add_dependencies(unit_tests ${PROJECT_NAME})
|
||||||
|
@ -6,4 +6,4 @@ add_library(tests_common STATIC
|
|||||||
source/main.cpp
|
source/main.cpp
|
||||||
)
|
)
|
||||||
target_include_directories(tests_common PUBLIC include)
|
target_include_directories(tests_common PUBLIC include)
|
||||||
target_link_libraries(tests_common PUBLIC libimhex ${FMT_LIBRARIES})
|
target_link_libraries(tests_common PUBLIC libimhex ${FMT_LIBRARIES})
|
||||||
|
@ -44,4 +44,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAK
|
|||||||
foreach (test IN LISTS AVAILABLE_TESTS)
|
foreach (test IN LISTS AVAILABLE_TESTS)
|
||||||
add_test(NAME "${TEST_CATEGORY}/${test}" COMMAND ${PROJECT_NAME} "${test}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
add_test(NAME "${TEST_CATEGORY}/${test}" COMMAND ${PROJECT_NAME} "${test}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
endforeach ()
|
endforeach ()
|
||||||
add_dependencies(unit_tests ${PROJECT_NAME})
|
add_dependencies(unit_tests ${PROJECT_NAME})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user