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.
gentoo-overlay/media-libs/openicc/files/openicc-0.1.0-buildsystem.p...

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})