From deaaefa5362dd10c27981bcb44d1261b8ae74123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= <4973094+kmilos@users.noreply.github.com> Date: Mon, 28 Jun 2021 08:30:30 +0200 Subject: [PATCH] Improve cmake for mingw (#19) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MiloÅ¡ KomarÄević <miloskomarcevic@aim.com> --- CMakeLists.txt | 6 ++++-- cmake/libaec-config.cmake.in | 11 +++-------- src/CMakeLists.txt | 8 +++++--- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bd1938..f899a92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) set(CMAKE_C_STANDARD 99) set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -enable_testing() +include(CTest) include(TestBigEndian) test_big_endian(WORDS_BIGENDIAN) @@ -39,7 +39,9 @@ configure_file( "${CMAKE_CURRENT_BINARY_DIR}/config.h") add_subdirectory(src) -add_subdirectory(tests) +if(BUILD_TESTING) + add_subdirectory(tests) +endif() option(AEC_FUZZING "Enable build of fuzzing target" OFF) if(AEC_FUZZING) diff --git a/cmake/libaec-config.cmake.in b/cmake/libaec-config.cmake.in index 6f610f0..2f733be 100644 --- a/cmake/libaec-config.cmake.in +++ b/cmake/libaec-config.cmake.in @@ -27,7 +27,7 @@ find_path(libaec_INCLUDE_DIR NAMES libaec.h DOC "AEC include directory") find_path(SZIP_INCLUDE_DIR NAMES szlib.h DOC "SZIP include directory") if (libaec_USE_STATIC_LIBS) - if (WIN32) + if (MSVC) find_library(libaec_LIBRARY NAMES aec_static.lib DOC "AEC library") find_library(SZIP_LIBRARY NAMES szip_static.lib DOC "SZIP compatible version of the AEC library") else () @@ -35,13 +35,8 @@ if (libaec_USE_STATIC_LIBS) find_library(SZIP_LIBRARY NAMES libsz.a DOC "SZIP compatible version of the AEC library") endif () else () - if (WIN32) - find_library(libaec_LIBRARY NAMES aec.lib DOC "AEC library") - find_library(SZIP_LIBRARY NAMES szip.lib DOC "SZIP compatible version of the AEC library") - else () - find_library(libaec_LIBRARY NAMES libaec.so DOC "AEC library") - find_library(SZIP_LIBRARY NAMES libsz.so DOC "SZIP compatible version of the AEC library") - endif () + find_library(libaec_LIBRARY NAMES aec DOC "AEC library") + find_library(SZIP_LIBRARY NAMES sz szip DOC "SZIP compatible version of the AEC library") endif () # Check version here diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1e3e600..87d3833 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,7 +15,7 @@ add_library(aec_static STATIC "$<TARGET_OBJECTS:aec>") target_link_libraries(aec_static PUBLIC aec) set_target_properties(aec_static PROPERTIES - OUTPUT_NAME $<IF:$<BOOL:${WIN32}>,aec_static,aec>) + OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,aec_static,aec>) add_library(aec_shared SHARED "$<TARGET_OBJECTS:aec>") target_link_libraries(aec_shared PUBLIC aec) @@ -34,7 +34,7 @@ target_link_libraries(sz PUBLIC aec) add_library(sz_static STATIC "$<TARGET_OBJECTS:sz>" "$<TARGET_OBJECTS:aec>") set_target_properties(sz_static PROPERTIES - OUTPUT_NAME $<IF:$<BOOL:${WIN32}>,szip_static,sz>) + OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,szip_static,sz>) target_link_libraries(sz_static PUBLIC sz) add_library(sz_shared SHARED "$<TARGET_OBJECTS:sz>" "$<TARGET_OBJECTS:aec>") @@ -43,7 +43,7 @@ set_target_properties(sz_shared PROPERTIES VERSION 2.0.1 SOVERSION 2 - OUTPUT_NAME $<IF:$<BOOL:${WIN32}>,szip,sz> + OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,szip,sz> PUBLIC_HEADER ../include/szlib.h) # Simple client for testing and benchmarking. @@ -70,7 +70,9 @@ if(UNIX) ${CMAKE_CURRENT_SOURCE_DIR}/../data/typical.rz COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bdec.sh DEPENDS aec_client utime) +endif() +if(UNIX OR MINGW) # Install manpage install( FILES aec.1 -- GitLab