diff options
author | Lectem <lectem@gmail.com> | 2016-11-05 02:20:51 +0100 |
---|---|---|
committer | Lectem <lectem@gmail.com> | 2016-11-05 03:56:39 +0100 |
commit | 32f7f18642d30d9e1531d317bb6d2e3fb97ab15a (patch) | |
tree | a4a2d72479fbd26b7b7ede6f97d6133dc3388021 /CMakeLists.txt | |
parent | 0d77ab2d191d84122d62f5f74fd5862e79b2ef30 (diff) |
fix cmake dependency and move headers to include
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 73 |
1 files changed, 39 insertions, 34 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 18b0219..0b1ac0b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -301,16 +301,16 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL Linux) endif() endif() -option(WITH_STATIC "Compile static linked library" OFF) -if(WITH_STATIC) - add_library(${LIBRARY_NAME} STATIC ${SRC_FILES} ${SRC_ADDITIONAL_FILES}) - target_link_libraries(${LIBRARY_NAME} ${LINK_LIBS}) -else() - add_library(${LIBRARY_NAME} SHARED ${SRC_FILES} ${SRC_ADDITIONAL_FILES}) - target_link_libraries(${LIBRARY_NAME} ${LINK_LIBS}) +option(BUILD_SHARED_LIBS "Compile shared libraries" OFF) + +add_library(${LIBRARY_NAME} ${SRC_FILES} ${SRC_ADDITIONAL_FILES}) +target_link_libraries(${LIBRARY_NAME} ${LINK_LIBS}) +target_compile_definitions(${LIBRARY_NAME} PUBLIC -D__STORMLIB_NO_AUTO_LINK__) #CMake should take care of the linking +target_include_directories(${LIBRARY_NAME} PUBLIC include/) +set_target_properties(${LIBRARY_NAME} PROPERTIES PUBLIC_HEADER "include/StormLib.h;include/StormPort.h") +if(BUILD_SHARED_LIBS) if(APPLE) set_target_properties(${LIBRARY_NAME} PROPERTIES FRAMEWORK true) - set_target_properties(${LIBRARY_NAME} PROPERTIES PUBLIC_HEADER "src/StormLib.h src/StormPort.h") set_target_properties(${LIBRARY_NAME} PROPERTIES LINK_FLAGS "-framework Carbon") endif() if(UNIX) @@ -326,37 +326,42 @@ else() if(WIN32) set_target_properties(${LIBRARY_NAME} PROPERTIES OUTPUT_NAME StormLib) endif() +endif() +install(TARGETS ${LIBRARY_NAME} + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + FRAMEWORK DESTINATION /Library/Frameworks + PUBLIC_HEADER DESTINATION include + INCLUDES DESTINATION include) - install(TARGETS ${LIBRARY_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib FRAMEWORK DESTINATION /Library/Frameworks) - - #CPack configurtion - SET(CPACK_GENERATOR "DEB" "RPM") - SET(CPACK_PACKAGE_NAME ${PROJECT_NAME}) - SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MPQ manipulation library") - SET(CPACK_PACKAGE_VENDOR "Ladislav Zezula") - SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") - SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") - SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}") - SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}") - SET(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}") +#CPack configurtion +SET(CPACK_GENERATOR "DEB" "RPM") +SET(CPACK_PACKAGE_NAME ${PROJECT_NAME}) +SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MPQ manipulation library") +SET(CPACK_PACKAGE_VENDOR "Ladislav Zezula") +SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") +SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}") +SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}") +SET(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}") - #DEB configuration - SET(CPACK_DEBIAN_PACKAGE_SECTION "libs") - SET(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://www.zezula.net/en/mpq/stormlib.html") - SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "imbacen@gmail.com") - SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") - SET(CPACK_DEBIAN_PACKAGE_DEPENDS "zlib1g,bzip2") +#DEB configuration +SET(CPACK_DEBIAN_PACKAGE_SECTION "libs") +SET(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://www.zezula.net/en/mpq/stormlib.html") +SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "imbacen@gmail.com") +SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") +SET(CPACK_DEBIAN_PACKAGE_DEPENDS "zlib1g,bzip2") - #RPM configuration - SET(CPACK_RPM_PACKAGE_RELEASE 1) - SET(CPACK_RPM_PACKAGE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") - SET(CPACK_RPM_PACKAGE_GROUP "${PROJECT_NAME}") - SET(CPACK_RPM_PACKAGE_URL "http://www.zezula.net/en/mpq/stormlib.html") - SET(CPACK_RPM_PACKAGE_REQUIRES "zlib,bzip2") +#RPM configuration +SET(CPACK_RPM_PACKAGE_RELEASE 1) +SET(CPACK_RPM_PACKAGE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +SET(CPACK_RPM_PACKAGE_GROUP "${PROJECT_NAME}") +SET(CPACK_RPM_PACKAGE_URL "http://www.zezula.net/en/mpq/stormlib.html") +SET(CPACK_RPM_PACKAGE_REQUIRES "zlib,bzip2") - INCLUDE(CPack) +INCLUDE(CPack) -endif() option(WITH_TEST "Compile Test application" OFF) if(WITH_TEST) |