Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion external/cutt.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ else()
set(CUTT_CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_DIR}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
Expand Down Expand Up @@ -102,11 +103,22 @@ else()
BUILD_COMMAND ${CMAKE_COMMAND} --build . --target cutt -v
BUILD_BYPRODUCTS ${CUTT_BUILD_BYPRODUCTS}
#--Install step---------------
INSTALL_COMMAND cmake -E echo "Skipping default install step."
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "cuTT will be installed during TiledArray's installation."
#--Custom targets-------------
STEP_TARGETS build
)

# do install of cuTT as part of building TiledArray's install target
install(CODE
"execute_process(
COMMAND \"${CMAKE_COMMAND}\" \"--build\" \".\" \"--target\" \"install\"
WORKING_DIRECTORY \"${EXTERNAL_BUILD_DIR}\"
RESULT_VARIABLE error_code)
if(error_code)
message(FATAL_ERROR \"Failed to install cuTT\")
endif()
")

# Add cuTT dependency to External
add_dependencies(External-tiledarray cutt-build)

Expand Down
14 changes: 13 additions & 1 deletion external/umpire.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ else()
set(UMPIRE_CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_DIR}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
Expand Down Expand Up @@ -108,11 +109,22 @@ else()
BUILD_COMMAND ${CMAKE_COMMAND} --build . -v
BUILD_BYPRODUCTS ${UMPIRE_BUILD_BYPRODUCTS}
#--Install step---------------
INSTALL_COMMAND cmake -E echo "Skipping default install step."
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Umpire will be installed during TiledArray's installation."
#--Custom targets-------------
STEP_TARGETS build
)

# do install of Umpire as part of building TiledArray's install target
install(CODE
"execute_process(
COMMAND \"${CMAKE_COMMAND}\" \"--build\" \".\" \"--target\" \"install\"
WORKING_DIRECTORY \"${EXTERNAL_BUILD_DIR}\"
RESULT_VARIABLE error_code)
if(error_code)
message(FATAL_ERROR \"Failed to install Umpire\")
endif()
")

# Add Umpire dependency to External
add_dependencies(External-tiledarray Umpire-build)

Expand Down
18 changes: 3 additions & 15 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -258,21 +258,9 @@ add_library(tiledarray ${TILEDARRAY_SOURCE_FILES} ${TILEDARRAY_HEADER_FILES})
target_link_libraries(${targetname} PUBLIC MADworld)
target_link_libraries(${targetname} PUBLIC Boost::boost)

if (TARGET build-madness)
add_dependencies(${targetname} build-madness)
endif ()
if (TARGET eigen3)
add_dependencies(${targetname} eigen3)
endif ()
if (TARGET btas)
add_dependencies(${targetname} btas)
endif ()
if (TARGET cutt)
add_dependencies(${targetname} cutt)
endif ()
if (TARGET Umpire)
add_dependencies(${targetname} Umpire)
endif ()
# build all external deps before building tiledarray
add_dependencies(${targetname} External-tiledarray)

# append current CMAKE_CXX_FLAGS
string(REPLACE " " ";" CMAKE_CXX_FLAG_LIST "${CMAKE_CXX_FLAGS}")
target_compile_options(${targetname} PUBLIC ${CMAKE_CXX_FLAG_LIST})
Expand Down