Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cmake] use only source dirs as include paths when building ROOT #5181

Merged
merged 64 commits into from Apr 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
d603daf
[core] try to exclude source dir from core include dirs
linev Mar 17, 2020
0cdf92a
[cmake] do not include source dir into include path
linev Mar 17, 2020
a1966f5
[cmake] set correct list of include dirs for dictionary
linev Mar 18, 2020
1238868
[cmake] add inc and v7/inc to include paths for ROOT dictionaries
linev Mar 18, 2020
01197fe
[cmake] do not use ROOT source directory as include path
linev Mar 18, 2020
2c507ba
[cmake] do not set source as include dir for target library
linev Mar 18, 2020
80915ce
[cmake] generate RConfigure.h in gincludes/ directory
linev Mar 18, 2020
e6a0d4b
[cmake] use only source files when building core library
linev Mar 18, 2020
c4eea6b
[cmake] duplicate RConfigure.h generation
linev Mar 18, 2020
42749c8
[cmake] provide ROOT_ADD_INCLUDE_DIRECTORIES macro
linev Mar 18, 2020
348e8e8
[cmake] configure include dirs for RIO and Gpad libs
linev Mar 18, 2020
6dc853c
[cmake] try to use only source dirs as includes
linev Mar 19, 2020
4d0fdf8
[cmake] provide libs includes and add missing depend
linev Mar 19, 2020
903adc0
[cmake] add correct dependency and includes for tree and hist
linev Mar 19, 2020
79e2d93
try solving problem with proof dependencies
linev Mar 19, 2020
636a484
mobe VirtualPacketizer to proof
linev Mar 19, 2020
b24f059
finish proof adjustments
linev Mar 19, 2020
52ea98b
[cmake] resolve gui and math dependencies
linev Mar 19, 2020
e56a108
use correct vdt path for roofitcore
linev Mar 19, 2020
578c527
[cmake] provide dictionary generation with local paths
linev Mar 19, 2020
16088e9
[cmake] do not use list(PREPEND ...) command
linev Mar 19, 2020
053effa
[cmake] add proper path to VecCore
linev Mar 19, 2020
bfd989b
[cmake] add platform include paths
linev Mar 19, 2020
c9cd073
[cmake] synchronize vdt handling
linev Mar 19, 2020
666b231
[cmake] use absolute path with GDIRS arg
linev Mar 19, 2020
27f7c29
[cmake] use main include path for VecCore
linev Mar 19, 2020
e73396b
[cmake] use proper paths
linev Mar 20, 2020
e28e9fe
[cmake] set properly gl includes paths
linev Mar 20, 2020
1a45132
[cmake] add missing dependency for quartz and cocoa
linev Mar 20, 2020
79d1237
[cmake] reduce global list of includes in core
linev Mar 20, 2020
df9afbe
[cmake] specify library headers dir directly
linev Mar 20, 2020
cdb4b6c
remove wrong includes from roofitcore
linev Mar 20, 2020
40b696c
[cmake] reduce usage of include_directories
linev Mar 20, 2020
c3fbd4f
[cmake] add core/textinput/inc in includes
linev Mar 20, 2020
8e02a61
[cmake] properly use vc and veccore
linev Mar 25, 2020
27f345b
specify GSL_INCLUDE_DIR for builtin_gsl
linev Mar 21, 2020
1392f46
[cmake] add includes for R binding
linev Mar 21, 2020
49454ce
[cmake] avoid relative paths ../metacling/inc in include paths
linev Mar 23, 2020
ee04fa3
[cmake] add builtin_glew as dependency for ftgl
linev Mar 24, 2020
1396d7c
[cmake] provide better comments, use absolute paths
linev Mar 25, 2020
6319cb0
[cmake] do not use INCLUDES argument for dictionaries
linev Mar 25, 2020
7518eec
[cmake] do not use INCLUDES arg for ROOT libs
linev Mar 25, 2020
86ebf98
[cmake] provide proper rules for generated files
linev Mar 25, 2020
5aabfa7
[cmake] do not generate rootmap for MULTIDICT files
linev Mar 25, 2020
e18006f
[cmake] fully rely on target_include_directories property
linev Mar 26, 2020
e6c4f4e
[cmake] let reduce includes for dict generation
linev Mar 26, 2020
e428c43
[cmake] specify used include for core libs directly
linev Mar 26, 2020
037d0d4
Do not expose RConfigOptions.h in public includes
linev Mar 28, 2020
d9f27c2
[cmake] do not use source dirs for generating ROOT dictionaries
linev Mar 30, 2020
d22fa4a
Update core/CMakeLists.txt
linev Mar 31, 2020
5d01090
[cmake] enable rootmap again for MULTIDICT
linev Mar 31, 2020
0ffe3e0
[cmake] spaces, formatting
linev Mar 31, 2020
0c711ba
[core] use relative paths in LinkDef.h, no need for special include
linev Mar 31, 2020
61aefb0
[cmake] always use includes from build directory for dictionaries
linev Apr 1, 2020
99157e7
restore cmake files for alien and monalisa
linev Apr 1, 2020
9874791
adjust spaces and formatting
linev Apr 6, 2020
c1fd9e4
use cling excludePath args
linev Apr 6, 2020
61ab26d
last adjustments using target includes
linev Apr 6, 2020
3158683
also exclude builtins
linev Apr 6, 2020
68749ff
do not link cude two times
linev Apr 21, 2020
454d47e
use RGitCommit.tmp.h to avoid unnecessary rebuilds
linev Apr 22, 2020
96f2670
add target_include_directories directly in ROOT_LINKER_LIBRARY
linev Apr 22, 2020
148ba11
remove mathmore includes from mathcore
linev Apr 22, 2020
e5da3ae
always add Core includes to the library
linev Apr 22, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -419,7 +419,7 @@ else()
COMMAND
${CMAKE_COMMAND} -E env ROOTIGNOREPREFIX=1 ${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/etc/dictpch/makepch.py etc/allDict.cxx.pch
${__allIncludes} -I${CMAKE_BINARY_DIR}/include
${__allIncludes} -I${CMAKE_BINARY_DIR}/include -I${CMAKE_SOURCE_DIR}/core
DEPENDS
rootcling ${__pch_dependencies} ${__pch_dictionaries}
${CMAKE_SOURCE_DIR}/build/unix/makepchinput.py
Expand Down
11 changes: 6 additions & 5 deletions cmake/modules/RootConfiguration.cmake
Expand Up @@ -603,8 +603,8 @@ get_filename_component(altld ${CMAKE_CXX_COMPILER} NAME)
set(pythonvers ${PYTHON_VERSION_STRING})

#---RConfigure.h---------------------------------------------------------------------------------------------
configure_file(${PROJECT_SOURCE_DIR}/config/RConfigure.in include/RConfigure.h NEWLINE_STYLE UNIX)
install(FILES ${CMAKE_BINARY_DIR}/include/RConfigure.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
configure_file(${PROJECT_SOURCE_DIR}/config/RConfigure.in ginclude/RConfigure.h NEWLINE_STYLE UNIX)
linev marked this conversation as resolved.
Show resolved Hide resolved
install(FILES ${CMAKE_BINARY_DIR}/ginclude/RConfigure.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

#---Configure and install various files----------------------------------------------------------------------
execute_Process(COMMAND hostname OUTPUT_VARIABLE BuildNodeInfo OUTPUT_STRIP_TRAILING_WHITESPACE )
Expand All @@ -613,7 +613,8 @@ configure_file(${CMAKE_SOURCE_DIR}/config/rootrc.in ${CMAKE_BINARY_DIR}/etc/syst
configure_file(${CMAKE_SOURCE_DIR}/config/rootauthrc.in ${CMAKE_BINARY_DIR}/etc/system.rootauthrc @ONLY NEWLINE_STYLE UNIX)
configure_file(${CMAKE_SOURCE_DIR}/config/rootdaemonrc.in ${CMAKE_BINARY_DIR}/etc/system.rootdaemonrc @ONLY NEWLINE_STYLE UNIX)

configure_file(${CMAKE_SOURCE_DIR}/config/RConfigOptions.in include/RConfigOptions.h NEWLINE_STYLE UNIX)
# file used in TROOT.cxx, not need in include/ dir and not need to install
configure_file(${CMAKE_SOURCE_DIR}/config/RConfigOptions.in ginclude/RConfigOptions.h NEWLINE_STYLE UNIX)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above.


configure_file(${CMAKE_SOURCE_DIR}/config/Makefile-comp.in config/Makefile.comp NEWLINE_STYLE UNIX)
configure_file(${CMAKE_SOURCE_DIR}/config/Makefile.in config/Makefile.config NEWLINE_STYLE UNIX)
Expand Down Expand Up @@ -745,10 +746,10 @@ endif()

if(WIN32)
# We cannot use the compiledata.sh script for windows
configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/compiledata.win32.in ${CMAKE_BINARY_DIR}/include/compiledata.h NEWLINE_STYLE UNIX)
configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/compiledata.win32.in ${CMAKE_BINARY_DIR}/ginclude/compiledata.h NEWLINE_STYLE UNIX)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful! A header hidden from include/ - nice!

else()
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/build/unix/compiledata.sh
${CMAKE_BINARY_DIR}/include/compiledata.h "${CMAKE_CXX_COMPILER}"
${CMAKE_BINARY_DIR}/ginclude/compiledata.h "${CMAKE_CXX_COMPILER}"
"${CMAKE_CXX_FLAGS_RELEASE}" "${CMAKE_CXX_FLAGS_DEBUG}" "${CMAKE_CXX_FLAGS}"
"${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}" "${CMAKE_EXE_FLAGS}" "so"
"${libdir}" "-lCore" "-lRint" "${incdir}" "" "" "${ROOT_ARCHITECTURE}" "")
Expand Down