Mercurial > irccd
changeset 485:daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 27 Jul 2017 16:44:57 +0200 |
parents | 69cc48b46dcb |
children | 0b156b82b8c1 |
files | cmake/IrccdSystem.cmake cmake/function/IrccdBuildHtml.cmake cmake/function/IrccdDefineExecutable.cmake cmake/function/IrccdDefineMan.cmake cmake/function/IrccdDefinePlugin.cmake doc/examples/CMakeLists.txt doc/html/CMakeLists.txt libcommon/CMakeLists.txt |
diffstat | 8 files changed, 30 insertions(+), 54 deletions(-) [+] |
line wrap: on
line diff
--- a/cmake/IrccdSystem.cmake Thu Feb 16 13:25:08 2017 +0100 +++ b/cmake/IrccdSystem.cmake Thu Jul 27 16:44:57 2017 +0200 @@ -72,12 +72,6 @@ set(IRCCD_64BITS FALSE) endif () -set(IRCCD_FAKEROOTDIR ${CMAKE_BINARY_DIR}/fakeroot) - -if (NOT EXISTS ${IRCCD_FAKEROOTDIR}) - file(MAKE_DIRECTORY ${IRCCD_FAKEROOTDIR}) -endif () - # # System identification. # ------------------------------------------------------------------- @@ -262,7 +256,11 @@ check_struct_has_member("struct stat" st_uid sys/stat.h HAVE_STAT_ST_UID) # Configuration file. +file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/irccd) + configure_file( ${CMAKE_CURRENT_LIST_DIR}/internal/sysconfig.hpp.in - ${IRCCD_FAKEROOTDIR}/include/irccd/sysconfig.hpp + ${CMAKE_BINARY_DIR}/irccd/sysconfig.hpp ) + +include_directories(${CMAKE_BINARY_DIR})
--- a/cmake/function/IrccdBuildHtml.cmake Thu Feb 16 13:25:08 2017 +0100 +++ b/cmake/function/IrccdBuildHtml.cmake Thu Jul 27 16:44:57 2017 +0200 @@ -90,10 +90,10 @@ string(REGEX REPLACE "^(.*)\\.md$" "\\1" basename ${basename}) file( - RELATIVE_PATH - baseurl - ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/${dirname} - ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR} + RELATIVE_PATH + baseurl + ${CMAKE_CURRENT_BINARY_DIR}/${dirname} + ${CMAKE_CURRENT_BINARY_DIR}/ ) if (baseurl STREQUAL "") @@ -134,7 +134,7 @@ # Pandoc the file. pandoc( - OUTPUT ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/${dirname}/${basename}.html + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.html SOURCES ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.yml ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.md @@ -148,13 +148,13 @@ # Install the documentation file as component if provided. if (HTML_COMPONENT) install( - FILES ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/${dirname}/${basename}.html + FILES ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.html COMPONENT ${HTML_COMPONENT} DESTINATION ${WITH_DOCDIR}/${dirname} ) endif () if (HTML_OUTPUT_VAR) - set(${HTML_OUTPUT_VAR} ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/${dirname}/${basename}.html) + set(${HTML_OUTPUT_VAR} ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.html) endif () endmacro ()
--- a/cmake/function/IrccdDefineExecutable.cmake Thu Feb 16 13:25:08 2017 +0100 +++ b/cmake/function/IrccdDefineExecutable.cmake Thu Jul 27 16:44:57 2017 +0200 @@ -54,17 +54,6 @@ target_compile_definitions(${EXE_TARGET} PRIVATE ${EXE_FLAGS}) target_link_libraries(${EXE_TARGET} ${EXE_LIBRARIES}) - # use fakeroot for public executables. - set_target_properties( - ${EXE_TARGET} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${IRCCD_FAKEROOTDIR}/${WITH_BINDIR} - RUNTIME_OUTPUT_DIRECTORY_DEBUG ${IRCCD_FAKEROOTDIR}/${WITH_BINDIR} - RUNTIME_OUTPUT_DIRECTORY_RELEASE ${IRCCD_FAKEROOTDIR}/${WITH_BINDIR} - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${IRCCD_FAKEROOTDIR}/${WITH_BINDIR} - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${IRCCD_FAKEROOTDIR}/${WITH_BINDIR} - ) - install( TARGETS ${EXE_TARGET} COMPONENT ${EXE_TARGET}
--- a/cmake/function/IrccdDefineMan.cmake Thu Feb 16 13:25:08 2017 +0100 +++ b/cmake/function/IrccdDefineMan.cmake Thu Jul 27 16:44:57 2017 +0200 @@ -29,7 +29,7 @@ function(irccd_define_man file man) if (WITH_MAN) set(input ${doc_SOURCE_DIR}/man/${file}.in) - set(output ${IRCCD_FAKEROOTDIR}/${WITH_MANDIR}/${man}/${file}) + set(output ${CMAKE_CURRENT_BINARY_DIR}/${file}) configure_file(${input} ${output} @ONLY) install(FILES ${output} DESTINATION ${WITH_MANDIR}/${man}) endif ()
--- a/cmake/function/IrccdDefinePlugin.cmake Thu Feb 16 13:25:08 2017 +0100 +++ b/cmake/function/IrccdDefinePlugin.cmake Thu Jul 27 16:44:57 2017 +0200 @@ -59,11 +59,11 @@ configure_file( ${PLG_SCRIPT} - ${IRCCD_FAKEROOTDIR}/${WITH_PLUGINDIR}/${name} + ${CMAKE_CURRENT_BINARY_DIR}/${name} ) install( - FILES ${IRCCD_FAKEROOTDIR}/${WITH_PLUGINDIR}/${name} + FILES ${CMAKE_CURRENT_BINARY_DIR}/${name} COMPONENT ${PLG_NAME} DESTINATION ${WITH_PLUGINDIR} ) @@ -82,24 +82,6 @@ endif () add_library(plugin-${PLG_NAME} MODULE ${PLG_SOURCES} ${PLG_OUTPUT_DOC} ${PLG_DOCS}) - - # Move the target into the native plugin directory and rename it. - set_target_properties( - plugin-${PLG_NAME} - PROPERTIES - PREFIX "" - OUTPUT_NAME ${PLG_NAME} - LIBRARY_OUTPUT_DIRECTORY ${IRCCD_FAKEROOTDIR}/${WITH_NPLUGINDIR} - ) - foreach (c ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER CONFIG ${c}) - set_target_properties( - plugin-${PLG_NAME} - PROPERTIES - OUTPUT_NAME_${CONFIG} ${PLG_NAME} - LIBRARY_OUTPUT_DIRECTORY_${CONFIG} ${IRCCD_FAKEROOTDIR}/${WITH_NPLUGINDIR} - ) - endforeach() target_link_libraries(plugin-${PLG_NAME} libirccd) install( TARGETS plugin-${PLG_NAME}
--- a/doc/examples/CMakeLists.txt Thu Feb 16 13:25:08 2017 +0100 +++ b/doc/examples/CMakeLists.txt Thu Jul 27 16:44:57 2017 +0200 @@ -20,12 +20,12 @@ configure_file( ${examples_SOURCE_DIR}/irccd.conf.sample - ${IRCCD_FAKEROOTDIR}/${WITH_CONFDIR}/irccd.conf + ${examples_BINARY_DIR}/irccd.conf ) configure_file( ${examples_SOURCE_DIR}/irccdctl.conf.sample - ${IRCCD_FAKEROOTDIR}/${WITH_CONFDIR}/irccdctl.conf + ${examples_BINARY_DIR}/irccdctl.conf ) install(
--- a/doc/html/CMakeLists.txt Thu Feb 16 13:25:08 2017 +0100 +++ b/doc/html/CMakeLists.txt Thu Jul 27 16:44:57 2017 +0200 @@ -202,6 +202,14 @@ ) list(APPEND OUTPUTS ${output}) + # Install this file. + file(RELATIVE_PATH basename ${html_SOURCE_DIR} ${file}) + get_filename_component(dirname ${basename} DIRECTORY) + install( + FILES ${output} + COMPONENT docs + DESTINATION ${WITH_DOCDIR}/${dirname} + ) endforeach () add_custom_target( @@ -210,13 +218,13 @@ ${HTML_SOURCES} ${CSS} ${JS} ${OUTPUTS} ${html_SOURCE_DIR}/resources/template.html COMMAND - ${CMAKE_COMMAND} -E make_directory ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/css + ${CMAKE_COMMAND} -E make_directory ${html_BINARY_DIR}/css COMMAND - ${CMAKE_COMMAND} -E make_directory ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/js + ${CMAKE_COMMAND} -E make_directory ${html_BINARY_DIR}/js COMMAND - ${CMAKE_COMMAND} -E copy ${CSS} ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/css + ${CMAKE_COMMAND} -E copy ${CSS} ${html_BINARY_DIR}/css COMMAND - ${CMAKE_COMMAND} -E copy ${JS} ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/js + ${CMAKE_COMMAND} -E copy ${JS} ${html_BINARY_DIR}/js ) # Install resources files.
--- a/libcommon/CMakeLists.txt Thu Feb 16 13:25:08 2017 +0100 +++ b/libcommon/CMakeLists.txt Thu Jul 27 16:44:57 2017 +0200 @@ -68,8 +68,7 @@ $<$<BOOL:${WITH_SSL}>:OpenSSL::Crypto> PUBLIC_INCLUDES ${Boost_INCLUDE_DIRS} - $<BUILD_INTERFACE:${IRCCD_FAKEROOTDIR}/include/irccd> - $<BUILD_INTERFACE:${IRCCD_FAKEROOTDIR}/include> + $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}> $<BUILD_INTERFACE:${libcommon_SOURCE_DIR}/irccd> $<BUILD_INTERFACE:${libcommon_SOURCE_DIR}> )