diff --git a/CMakeLists.txt b/CMakeLists.txt index c708153..0e004da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,10 +60,11 @@ include(GNUInstallDirs) include(CTest) include(FindThreads) +find_package(ZLIB REQUIRED) +if (0) # Use pkg-config to create a PkgConfig::Ptex_ZLIB imported target find_package(PkgConfig REQUIRED) pkg_checK_modules(Ptex_ZLIB REQUIRED zlib IMPORTED_TARGET) - enable_testing() if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) @@ -77,6 +78,7 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE) endif () endif () +endif() if (NOT WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") @@ -99,7 +101,9 @@ endif () include_directories(src/ptex) add_subdirectory(src/ptex) +if (0) add_subdirectory(src/utils) add_subdirectory(src/tests) add_subdirectory(src/doc) +endif() add_subdirectory(src/build) diff --git a/src/ptex/CMakeLists.txt b/src/ptex/CMakeLists.txt index ba3a3cc..1619ff1 100644 --- a/src/ptex/CMakeLists.txt +++ b/src/ptex/CMakeLists.txt @@ -1,6 +1,8 @@ -if (WIN32) - add_definitions(/DPTEX_EXPORTS) -endif (WIN32) +if (BUILD_SHARED_LIBS) + add_definitions(-DPTEX_EXPORTS) +else () + add_definitions(-DPTEX_STATIC) +endif () configure_file(PtexVersion.h.in ${CMAKE_CURRENT_SOURCE_DIR}/PtexVersion.h @ONLY) @@ -18,29 +20,35 @@ set(SRCS PtexWriter.cpp) if(PTEX_BUILD_STATIC_LIBS) - add_library(Ptex_static STATIC ${SRCS}) - set_target_properties(Ptex_static PROPERTIES OUTPUT_NAME Ptex) - target_include_directories(Ptex_static + add_library(Ptex STATIC ${SRCS}) + target_include_directories(Ptex PUBLIC $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) - target_link_libraries(Ptex_static - PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB) - install(TARGETS Ptex_static EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) + target_link_libraries(Ptex + PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB) + install(TARGETS Ptex EXPORT Ptex + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) endif() if(PTEX_BUILD_SHARED_LIBS) - add_library(Ptex_dynamic SHARED ${SRCS}) - set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex) - target_include_directories(Ptex_dynamic + add_library(Ptex SHARED ${SRCS}) + target_include_directories(Ptex PUBLIC $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) - target_link_libraries(Ptex_dynamic - PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB) - install(TARGETS Ptex_dynamic EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) + target_link_libraries(Ptex + PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB) + install(TARGETS Ptex EXPORT Ptex + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) endif() install(FILES