aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorLectem <lectem@gmail.com>2016-11-05 02:20:51 +0100
committerLectem <lectem@gmail.com>2016-11-05 03:56:39 +0100
commit32f7f18642d30d9e1531d317bb6d2e3fb97ab15a (patch)
treea4a2d72479fbd26b7b7ede6f97d6133dc3388021 /CMakeLists.txt
parent0d77ab2d191d84122d62f5f74fd5862e79b2ef30 (diff)
fix cmake dependency and move headers to include
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt73
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)