# add definitions
include(DefinePlatformDefaults)
-include(DefineInstallationPaths)
include(DefineOptions.cmake)
include(CPackConfig.cmake)
include(CompilerChecks.cmake)
+include(GNUInstallDirs)
# disallow in-source build
include(MacroEnsureOutOfSourceBuild)
FILES
${CMAKE_CURRENT_BINARY_DIR}/priv_wrapper.pc
DESTINATION
- ${LIB_INSTALL_DIR}/pkgconfig
+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig
COMPONENT
pkgconfig
)
${CMAKE_CURRENT_BINARY_DIR}/priv_wrapper-config-version.cmake
${CMAKE_CURRENT_BINARY_DIR}/priv_wrapper-config.cmake
DESTINATION
- ${CMAKE_INSTALL_DIR}/priv_wrapper
+ ${CMAKE_INSTALL_LIBDIR}/cmake/priv_wrapper
COMPONENT
devel
)
include(CheckPrototypeDefinition)
include(TestBigEndian)
-set(PACKAGE ${PROJECT_NAME})
-set(VERSION ${PROJECT_VERSION})
-set(DATADIR ${DATA_INSTALL_DIR})
-set(LIBDIR ${LIB_INSTALL_DIR})
-set(PLUGINDIR "${PLUGIN_INSTALL_DIR}-${LIBRARY_SOVERSION}")
-set(SYSCONFDIR ${SYSCONF_INSTALL_DIR})
+set(PRIV_WRAPPER_PACKAGE ${PROJECT_NAME})
+set(PRIV_WRAPPER_VERSION ${PROJECT_VERSION})
set(BINARYDIR ${CMAKE_BINARY_DIR})
set(SOURCEDIR ${CMAKE_SOURCE_DIR})
if (UNIX)
find_library(DLFCN_LIBRARY dl)
if (DLFCN_LIBRARY)
- string(APPEND _REQUIRED_LIBRARIES ${DLFCN_LIBRARY})
+ list(APPEND _REQUIRED_LIBRARIES ${DLFCN_LIBRARY})
else()
check_function_exists(dlopen HAVE_DLOPEN)
if (NOT HAVE_DLOPEN)
test_big_endian(WORDS_BIGENDIAN)
endif (NOT WIN32)
-set(PRIVWRAP_REQUIRED_LIBRARIES ${_REQUIRED_LIBRARIES} CACHE INTERNAL "priv_wrapper required system libraries")
+set(PWRAP_REQUIRED_LIBRARIES ${_REQUIRED_LIBRARIES} CACHE INTERNAL "priv_wrapper required system libraries")
+++ /dev/null
-if (UNIX OR OS2)
- IF (NOT APPLICATION_NAME)
- MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME")
- SET(APPLICATION_NAME ${PROJECT_NAME})
- ENDIF (NOT APPLICATION_NAME)
-
- # Suffix for Linux
- SET(LIB_SUFFIX
- CACHE STRING "Define suffix of directory name (32/64)"
- )
-
- SET(EXEC_INSTALL_PREFIX
- "${CMAKE_INSTALL_PREFIX}"
- CACHE PATH "Base directory for executables and libraries"
- )
- SET(SHARE_INSTALL_PREFIX
- "${CMAKE_INSTALL_PREFIX}/share"
- CACHE PATH "Base directory for files which go to share/"
- )
- SET(DATA_INSTALL_PREFIX
- "${SHARE_INSTALL_PREFIX}/${APPLICATION_NAME}"
- CACHE PATH "The parent directory where applications can install their data")
-
- # The following are directories where stuff will be installed to
- SET(BIN_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/bin"
- CACHE PATH "The ${APPLICATION_NAME} binary install dir (default prefix/bin)"
- )
- SET(SBIN_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/sbin"
- CACHE PATH "The ${APPLICATION_NAME} sbin install dir (default prefix/sbin)"
- )
- SET(LIB_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"
- CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/lib)"
- )
- SET(LIBEXEC_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/libexec"
- CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/libexec)"
- )
- SET(PLUGIN_INSTALL_DIR
- "${LIB_INSTALL_DIR}/${APPLICATION_NAME}"
- CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is prefix/lib/${APPLICATION_NAME})"
- )
- SET(INCLUDE_INSTALL_DIR
- "${CMAKE_INSTALL_PREFIX}/include"
- CACHE PATH "The subdirectory to the header prefix (default prefix/include)"
- )
-
- set(CMAKE_INSTALL_DIR
- "${LIB_INSTALL_DIR}/cmake"
- CACHE PATH "The subdirectory to install cmake config files")
-
- SET(DATA_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}"
- CACHE PATH "The parent directory where applications can install their data (default prefix/share/${APPLICATION_NAME})"
- )
- SET(HTML_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}/doc/HTML"
- CACHE PATH "The HTML install dir for documentation (default data/doc/html)"
- )
- SET(ICON_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}/icons"
- CACHE PATH "The icon install dir (default data/icons/)"
- )
- SET(SOUND_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}/sounds"
- CACHE PATH "The install dir for sound files (default data/sounds)"
- )
-
- SET(LOCALE_INSTALL_DIR
- "${SHARE_INSTALL_PREFIX}/locale"
- CACHE PATH "The install dir for translations (default prefix/share/locale)"
- )
-
- SET(XDG_APPS_DIR
- "${SHARE_INSTALL_PREFIX}/applications/"
- CACHE PATH "The XDG apps dir"
- )
- SET(XDG_DIRECTORY_DIR
- "${SHARE_INSTALL_PREFIX}/desktop-directories"
- CACHE PATH "The XDG directory"
- )
-
- SET(SYSCONF_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/etc"
- CACHE PATH "The ${APPLICATION_NAME} sysconfig install dir (default prefix/etc)"
- )
- SET(MAN_INSTALL_DIR
- "${SHARE_INSTALL_PREFIX}/man"
- CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)"
- )
- SET(INFO_INSTALL_DIR
- "${SHARE_INSTALL_PREFIX}/info"
- CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)"
- )
-else()
- # Same same
- set(BIN_INSTALL_DIR "bin" CACHE PATH "-")
- set(SBIN_INSTALL_DIR "sbin" CACHE PATH "-")
- set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "-")
- set(INCLUDE_INSTALL_DIR "include" CACHE PATH "-")
- set(CMAKE_INSTALL_DIR "CMake" CACHE PATH "-")
- set(PLUGIN_INSTALL_DIR "plugins" CACHE PATH "-")
- set(HTML_INSTALL_DIR "doc/HTML" CACHE PATH "-")
- set(ICON_INSTALL_DIR "icons" CACHE PATH "-")
- set(SOUND_INSTALL_DIR "sounds" CACHE PATH "-")
- set(LOCALE_INSTALL_DIR "lang" CACHE PATH "-")
-endif ()
/* Name of package */
-#cmakedefine PACKAGE "${PROJECT_NAME}"
+#cmakedefine PRIV_WRAPPER_PACKAGE "${PRIV_WRAPPER_PACKAGE}"
/* Version number of package */
-#cmakedefine VERSION "${PROJECT_VERSION}"
+#cmakedefine PRIV_WRAPPER_VERSION "${PRIV_WRAPPER_VERSION}"
-#cmakedefine LOCALEDIR "${LOCALE_INSTALL_DIR}"
-#cmakedefine DATADIR "${DATADIR}"
-#cmakedefine LIBDIR "${LIBDIR}"
-#cmakedefine PLUGINDIR "${PLUGINDIR}"
-#cmakedefine SYSCONFDIR "${SYSCONFDIR}"
#cmakedefine BINARYDIR "${BINARYDIR}"
#cmakedefine SOURCEDIR "${SOURCEDIR}"
-set(PRIV_WRAPPER_LIBRARY @LIB_INSTALL_DIR@/@PRIV_WRAPPER_LIB@)
+set(PRIV_WRAPPER_LIBRARY @CMAKE_INSTALL_FULL_LIBDIR@/@PRIV_WRAPPER_LIB@)
Name: @PROJECT_NAME@
Description: The priv_wrapper library
Version: @PROJECT_VERSION@
-Libs: @LIB_INSTALL_DIR@/@PRIV_WRAPPER_LIB@
+Libs: @CMAKE_INSTALL_LIBDIR@/@PRIV_WRAPPER_LIB@
PRIVATE
${DEFAULT_C_COMPILE_FLAGS}
-D_GNU_SOURCE)
-target_link_libraries(priv_wrapper ${SWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(priv_wrapper
+ PRIVATE ${PWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
-install(
- TARGETS
- priv_wrapper
- RUNTIME DESTINATION ${BIN_INSTALL_DIR}
- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
-)
+set_target_properties(priv_wrapper
+ PROPERTIES
+ VERSION ${LIBRARY_VERSION}
+ SOVERSION ${LIBRARY_SOVERSION})
+if (DEFINED DEFAULT_LINK_FLAGS)
+ set_target_properties(priv_wrapper
+ PROPERTIES
+ LINK_FLAGS ${DEFAULT_LINK_FLAGS})
+endif()
-set_target_properties(
- priv_wrapper
- PROPERTIES
- VERSION
- ${LIBRARY_VERSION}
- SOVERSION
- ${LIBRARY_SOVERSION}
+install(TARGETS priv_wrapper
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
set(PRIV_WRAPPER_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}priv_wrapper${CMAKE_SHARED_LIBRARY_SUFFIX}" PARENT_SCOPE)