mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 18:40:42 +02:00
gold linker
This commit is contained in:
parent
02d7381788
commit
58ab3c4123
@ -46,7 +46,17 @@ option(SLS_BUILD_DOCS "docs" OFF)
|
|||||||
option(SLS_BUILD_EXAMPLES "examples" OFF)
|
option(SLS_BUILD_EXAMPLES "examples" OFF)
|
||||||
option(SLS_TUNE_LOCAL "tune to local machine" OFF)
|
option(SLS_TUNE_LOCAL "tune to local machine" OFF)
|
||||||
|
|
||||||
|
# Use ld.gold if it is available and isn't disabled explicitly
|
||||||
|
option(SLS_USE_LD_GOLD "Use GNU gold linker" ON)
|
||||||
|
if (SLS_USE_LD_GOLD)
|
||||||
|
execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
|
||||||
|
if ("${LD_VERSION}" MATCHES "GNU gold")
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=gold")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=gold")
|
||||||
|
else ()
|
||||||
|
message(WARNING "GNU gold linker isn't available, using the default system linker.")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||||
|
@ -1,33 +1,33 @@
|
|||||||
find_package(Doxygen)
|
find_package(Doxygen REQUIRED)
|
||||||
find_package(Sphinx)
|
find_package(Sphinx REQUIRED)
|
||||||
|
|
||||||
|
|
||||||
if (DOXYGEN_FOUND AND SPHINX_FOUND)
|
|
||||||
# message(${CMAKE_PROJECT_SORURCE_DIR}/slsDetectorSoftware/src)
|
|
||||||
# Utility to generate command line documentation
|
# Utility to generate command line documentation
|
||||||
add_executable(gendoc src/gendoc.cpp)
|
add_executable(gendoc src/gendoc.cpp)
|
||||||
# This is a bit hacky, but better than exposing stuff?
|
# This is a bit hacky, but better than exposing stuff?
|
||||||
target_include_directories(gendoc PRIVATE ${PROJECT_SOURCE_DIR}/slsDetectorSoftware/src)
|
target_include_directories(gendoc PRIVATE ${PROJECT_SOURCE_DIR}/slsDetectorSoftware/src)
|
||||||
target_link_libraries(gendoc PRIVATE
|
target_link_libraries(gendoc PRIVATE
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
)
|
)
|
||||||
set_target_properties(gendoc PROPERTIES
|
set_target_properties(gendoc PROPERTIES
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Doxygen
|
#Doxygen
|
||||||
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
|
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
|
||||||
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||||
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
|
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
|
||||||
|
|
||||||
#Sphinx
|
#Sphinx
|
||||||
set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||||
set(SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR})
|
set(SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
set(SPHINX_SOURCE_FILES
|
set(SPHINX_SOURCE_FILES
|
||||||
src/commandline.rst
|
src/commandline.rst
|
||||||
src/container_utils.rst
|
src/container_utils.rst
|
||||||
src/consuming.rst
|
src/consuming.rst
|
||||||
@ -44,19 +44,19 @@ if (DOXYGEN_FOUND AND SPHINX_FOUND)
|
|||||||
src/ToString.rst
|
src/ToString.rst
|
||||||
src/examples.rst
|
src/examples.rst
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
foreach(filename ${SPHINX_SOURCE_FILES})
|
foreach(filename ${SPHINX_SOURCE_FILES})
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
||||||
"${SPHINX_BUILD}/${filename}")
|
"${SPHINX_BUILD}/${filename}")
|
||||||
endforeach(filename ${SPHINX_SOURCE_FILES})
|
endforeach(filename ${SPHINX_SOURCE_FILES})
|
||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in"
|
"${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in"
|
||||||
"${SPHINX_BUILD}/conf.py"
|
"${SPHINX_BUILD}/conf.py"
|
||||||
@ONLY)
|
@ONLY)
|
||||||
|
|
||||||
add_custom_target(docs
|
add_custom_target(docs
|
||||||
gendoc
|
gendoc
|
||||||
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
|
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
|
||||||
COMMAND ${SPHINX_EXECUTABLE} -a -b html
|
COMMAND ${SPHINX_EXECUTABLE} -a -b html
|
||||||
@ -66,6 +66,4 @@ if (DOXYGEN_FOUND AND SPHINX_FOUND)
|
|||||||
${SPHINX_BUILD}/html
|
${SPHINX_BUILD}/html
|
||||||
COMMENT "Generating documentation with Sphinx")
|
COMMENT "Generating documentation with Sphinx")
|
||||||
|
|
||||||
else (DOXYGEN_FOUND AND SPHINX_FOUND)
|
|
||||||
message("Doxygen and Sphinx are needed to build documentation")
|
|
||||||
endif (DOXYGEN_FOUND AND SPHINX_FOUND)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user