You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
8.1 KiB
229 lines
8.1 KiB
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 9c3879e..a78b993 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -1,4 +1,4 @@
|
|
-CMAKE_MINIMUM_REQUIRED (VERSION 2.6.2)
|
|
+CMAKE_MINIMUM_REQUIRED (VERSION 2.8.5)
|
|
|
|
PROJECT (OpenICC)
|
|
|
|
@@ -35,6 +35,16 @@ SET( REVERSE_DOMAIN org.openicc )
|
|
|
|
SET( ${PROJECT_NAME}_VERSION_MAJORMINOR "${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}" )
|
|
|
|
+include(GNUInstallDirs)
|
|
+
|
|
+option(ENABLE_TESTS "Build tests (requires static libs)" ON)
|
|
+option(ENABLE_TOOLS "Build tools (currently openicc-device)" ON)
|
|
+option(ENABLE_STATIC_LIBS "Build static libs" ON)
|
|
+
|
|
+IF( ENABLE_TESTS )
|
|
+ SET(ENABLE_STATIC_LIBS ON)
|
|
+ENDIF()
|
|
+
|
|
IF( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
SET(PLATFORM "OSX")
|
|
ELSEIF( ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
|
|
index 950d3dc..0a89aea 100644
|
|
--- a/cmake/CMakeLists.txt
|
|
+++ b/cmake/CMakeLists.txt
|
|
@@ -16,13 +16,13 @@ SET (TARGET_CMAKE_FOLDER
|
|
|
|
SET (TARGET_PLUGIN_FOLDER "openicc"
|
|
CACHE STRING
|
|
- "Optional folder below system library folder where to install openicc plugins. LIB_SUFFIX is honored."
|
|
+ "Optional folder below system library folder where to install openicc plugins."
|
|
)
|
|
|
|
SET (TARGET_PKGCONFIG_FOLDER
|
|
"pkgconfig"
|
|
CACHE STRING
|
|
- "The folder below system library folder where to install pkgconfig files. LIB_SUFFIX is honored."
|
|
+ "The folder below system library folder where to install pkgconfig files."
|
|
)
|
|
|
|
SET (TARGET_DOCUMENTATION_FOLDER
|
|
@@ -36,10 +36,6 @@ SET (TARGET_DOCUMENTATION_FOLDER
|
|
# Misc.
|
|
#
|
|
|
|
-SET (LIB_SUFFIX ""
|
|
- CACHE STRING
|
|
- "Optional suffix to use on lib folders (e.g. 64 for lib64)"
|
|
- )
|
|
#cmake settings for use by find_package
|
|
CONFIGURE_FILE (
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/OpenIccConfig.cmake.in"
|
|
@@ -49,6 +45,6 @@ CONFIGURE_FILE (
|
|
|
|
INSTALL ( FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/OpenIccConfig.cmake"
|
|
- DESTINATION lib${LIB_SUFFIX}/cmake/openicc COMPONENT dev
|
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/openicc COMPONENT dev
|
|
)
|
|
|
|
diff --git a/cmake/OpenIccConfig.cmake.in b/cmake/OpenIccConfig.cmake.in
|
|
index 46dc1ba..373190f 100644
|
|
--- a/cmake/OpenIccConfig.cmake.in
|
|
+++ b/cmake/OpenIccConfig.cmake.in
|
|
@@ -16,7 +16,7 @@
|
|
# Set path to the header file.
|
|
FIND_PATH(OPENICC_INCLUDE_DIR
|
|
NAMES openicc_version.h
|
|
- PATHS @CMAKE_INSTALL_PREFIX@/include/@TARGET_INCLUDE_FOLDER@
|
|
+ PATHS @CMAKE_INSTALL_FULL_INCLUDEDIR@/@TARGET_INCLUDE_FOLDER@
|
|
NO_DEFAULT_PATH
|
|
)
|
|
MARK_AS_ADVANCED(OPENICC_INCLUDE_DIR)
|
|
@@ -25,7 +25,7 @@ MARK_AS_ADVANCED(OPENICC_INCLUDE_DIR)
|
|
# Set path to the library.
|
|
FIND_LIBRARY(OPENICC_LIBRARY
|
|
NAMES OpenICC openicc-static
|
|
- PATHS @CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@
|
|
+ PATHS @CMAKE_INSTALL_FULL_LIBDIR@
|
|
NO_DEFAULT_PATH
|
|
)
|
|
MARK_AS_ADVANCED(OPENICC_LIBRARY)
|
|
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
|
|
index a60698a..57cf57f 100644
|
|
--- a/docs/CMakeLists.txt
|
|
+++ b/docs/CMakeLists.txt
|
|
@@ -19,5 +19,5 @@ IF( DOXYGEN_FOUND )
|
|
ADD_CUSTOM_TARGET( docu ALL
|
|
DEPENDS html )
|
|
|
|
- INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc/${PACKAGE_NAME} )
|
|
+ INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR} )
|
|
ENDIF()
|
|
diff --git a/extras/CMakeLists.txt b/extras/CMakeLists.txt
|
|
index ee939a5..8289b32 100644
|
|
--- a/extras/CMakeLists.txt
|
|
+++ b/extras/CMakeLists.txt
|
|
@@ -13,6 +13,6 @@ CONFIGURE_FILE(
|
|
|
|
INSTALL( FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}.pc"
|
|
- DESTINATION lib${LIB_SUFFIX}/${TARGET_PKGCONFIG_FOLDER}
|
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/${TARGET_PKGCONFIG_FOLDER}
|
|
)
|
|
|
|
diff --git a/extras/openicc.pc.in b/extras/openicc.pc.in
|
|
index 8680344..826a3d0 100644
|
|
--- a/extras/openicc.pc.in
|
|
+++ b/extras/openicc.pc.in
|
|
@@ -1,7 +1,7 @@
|
|
prefix=@CMAKE_INSTALL_PREFIX@
|
|
-exec_prefix=${prefix}/bin
|
|
-libdir=${prefix}/lib@LIB_SUFFIX@
|
|
-includedir=${prefix}/include/@TARGET_INCLUDE_FOLDER@
|
|
+exec_prefix=${prefix}/@CMAKE_INSTALL_BINDIR@
|
|
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
|
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@TARGET_INCLUDE_FOLDER@
|
|
|
|
Name: @PACKAGE_NAME@
|
|
Description: @PACKAGE_DESCRIPTION@
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index 09c6c05..d61f533 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -94,7 +94,7 @@ FIND_PACKAGE( GetText )
|
|
MESSAGE( "GetText: ${GETTEXT_FOUND}" )
|
|
IF( GETTEXT_FOUND )
|
|
SET( USE_GETTEXT TRUE )
|
|
- SET( OI_LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale" )
|
|
+ SET( OI_LOCALEDIR "${CMAKE_INSTALL_FULL_LOCALEDIR}" )
|
|
ENDIF()
|
|
|
|
# debug
|
|
@@ -106,9 +106,13 @@ ADD_SUBDIRECTORY( include )
|
|
|
|
ADD_SUBDIRECTORY( libopenicc )
|
|
|
|
-ADD_SUBDIRECTORY( tests )
|
|
+IF( ENABLE_TESTS )
|
|
+ ADD_SUBDIRECTORY( tests )
|
|
+ENDIF()
|
|
|
|
-ADD_SUBDIRECTORY( tools )
|
|
+IF( ENABLE_TOOLS )
|
|
+ ADD_SUBDIRECTORY( tools )
|
|
+ENDIF()
|
|
|
|
ADD_SUBDIRECTORY( examples )
|
|
|
|
diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt
|
|
index 082eaf8..c37d987 100644
|
|
--- a/src/include/CMakeLists.txt
|
|
+++ b/src/include/CMakeLists.txt
|
|
@@ -16,4 +16,4 @@ SET( CHEADERS_OBJECT_CONFIG_PUBLIC
|
|
INSTALL( FILES
|
|
${CHEADERS_OBJECT_CONFIG_PUBLIC}
|
|
"${CMAKE_BINARY_DIR}/src/include/openicc_version.h"
|
|
- DESTINATION include/${PROJECT_DOWN_NAME})
|
|
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_DOWN_NAME})
|
|
diff --git a/src/include/openicc_version.h.in b/src/include/openicc_version.h.in
|
|
index 627bd3b..b0b9927 100644
|
|
--- a/src/include/openicc_version.h.in
|
|
+++ b/src/include/openicc_version.h.in
|
|
@@ -8,10 +8,10 @@
|
|
#define OPENICC_VERSION (OPENICC_VERSION_A * 10000 + OPENICC_VERSION_B * 100 + OPENICC_VERSION_C) /**< version variable */
|
|
|
|
#define OPENICC_PREFIX "@CMAKE_INSTALL_PREFIX@" /**< install variable */
|
|
-#define OPENICC_BINDIR "@CMAKE_INSTALL_PREFIX@/bin" /**< install variable */
|
|
-#define OPENICC_DATADIR "@CMAKE_INSTALL_PREFIX@/share" /**< install variable */
|
|
-#define OPENICC_LIBDIR "@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@" /**< install variable */
|
|
-#define OPENICC_DATADIR "@CMAKE_INSTALL_PREFIX@/share" /**< install variable */
|
|
+#define OPENICC_BINDIR "@CMAKE_INSTALL_FULL_BINDIR@" /**< install variable */
|
|
+#define OPENICC_DATADIR "@CMAKE_INSTALL_FULL_DATAROOTDIR@" /**< install variable */
|
|
+#define OPENICC_LIBDIR "@CMAKE_INSTALL_FULL_LIBDIR@/" /**< install variable */
|
|
+#define OPENICC_DATADIR "@CMAKE_INSTALL_FULL_DATAROOTDIR@" /**< install variable */
|
|
#define OPENICC_SYSCOLORDIR OPENICC_DATADIR "/color" /**< install variable */
|
|
#define OPENICC_LOCALEDIR "@OI_LOCALEDIR@"
|
|
#define OPENICC_CMMSUBPATH "@OI_CMMSUBPATH@" /**< install variable */
|
|
diff --git a/src/libopenicc/CMakeLists.txt b/src/libopenicc/CMakeLists.txt
|
|
index 1db9b0e..b4e7994 100644
|
|
--- a/src/libopenicc/CMakeLists.txt
|
|
+++ b/src/libopenicc/CMakeLists.txt
|
|
@@ -36,14 +36,20 @@ ADD_LIBRARY( OpenICC SHARED ${SOURCES} )
|
|
TARGET_LINK_LIBRARIES (
|
|
OpenICC
|
|
${EXTRA_LIBS} ${EXTRA_LIBS_CS} )
|
|
-ADD_LIBRARY( openicc-static STATIC ${SOURCES} )
|
|
-TARGET_LINK_LIBRARIES (
|
|
- openicc-static
|
|
- ${EXTRA_LIBS} ${EXTRA_LIBS_CS} )
|
|
|
|
-INSTALL( TARGETS OpenICC openicc-static
|
|
- RUNTIME DESTINATION bin
|
|
- LIBRARY DESTINATION lib${LIB_SUFFIX}
|
|
- ARCHIVE DESTINATION lib${LIB_SUFFIX} )
|
|
+INSTALL( TARGETS OpenICC
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
|
|
|
+IF(ENABLE_STATIC_LIBS)
|
|
+ ADD_LIBRARY( openicc-static STATIC ${SOURCES} )
|
|
+ TARGET_LINK_LIBRARIES (
|
|
+ openicc-static
|
|
+ ${EXTRA_LIBS} ${EXTRA_LIBS_CS} )
|
|
|
|
+ INSTALL( TARGETS openicc-static
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
|
+ENDIF()
|
|
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
|
|
index 8792328..4bb1602 100644
|
|
--- a/src/tools/CMakeLists.txt
|
|
+++ b/src/tools/CMakeLists.txt
|
|
@@ -1,5 +1,5 @@
|
|
# Device listing
|
|
ADD_EXECUTABLE( openicc-device "${CMAKE_CURRENT_SOURCE_DIR}/openicc_device.c" )
|
|
TARGET_LINK_LIBRARIES( openicc-device OpenICC ${EXTRA_LIBS} )
|
|
-INSTALL (TARGETS openicc-device DESTINATION bin)
|
|
+INSTALL (TARGETS openicc-device DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
|