Skip to content

Commit 8770d72

Browse files
committed
CMake: Project Vars & Fix Memtest
PIConGPU project name: `PIConGPUapp` since this CMakeLists.txt builds the final app. Use the Project-specific name instead of the general CMake wide prefix for variables such as the current source directory. Needed for later includes in super-projects. Fix the detection of cuda-memtest and mpiInfo.
1 parent e3cc934 commit 8770d72

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

include/picongpu/CMakeLists.txt

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ cmake_minimum_required(VERSION 3.10.0)
2929
# Project
3030
################################################################################
3131

32-
project(PIConGPU)
32+
project(PIConGPUapp)
3333

3434
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
3535
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}" CACHE PATH "install prefix" FORCE)
@@ -60,12 +60,12 @@ set(CMAKE_CXX_STANDARD 11)
6060
# Disallow in-source build
6161
################################################################################
6262

63-
get_filename_component(SOURCE_DIR_ROOT ${PIConGPU_SOURCE_DIR}/../.. ABSOLUTE)
64-
string(FIND "${PIConGPU_BINARY_DIR}"
63+
get_filename_component(SOURCE_DIR_ROOT ${PIConGPUapp_SOURCE_DIR}/../.. ABSOLUTE)
64+
string(FIND "${PIConGPUapp_BINARY_DIR}"
6565
"${SOURCE_DIR_ROOT}/" IN_SRC_POS)
6666
if(IN_SRC_POS GREATER -1)
6767
message(FATAL_ERROR
68-
"PICoNGPU requires an out of source build. "
68+
"PIConGPU requires an out of source build. "
6969
"Please remove \n"
7070
" - CMakeCache.txt\n"
7171
" - CMakeFiles/\n"
@@ -80,7 +80,7 @@ unset(IN_SRC_POS)
8080
# Find PMacc
8181
################################################################################
8282

83-
find_package(PMacc REQUIRED CONFIG PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../pmacc")
83+
find_package(PMacc REQUIRED CONFIG PATHS "${PIConGPUapp_SOURCE_DIR}/../pmacc")
8484
include_directories(SYSTEM ${PMacc_INCLUDE_DIRS})
8585
set(LIBS ${LIBS} ${PMacc_LIBRARIES})
8686
add_definitions(${PMacc_DEFINITIONS})
@@ -120,7 +120,7 @@ if(ALPAKA_ACC_GPU_CUDA_ENABLE)
120120

121121
if(NOT mallocMC_FOUND)
122122
message(STATUS "Using mallocMC from thirdParty/ directory")
123-
set(MALLOCMC_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../../thirdParty/mallocMC")
123+
set(MALLOCMC_ROOT "${PIConGPUapp_SOURCE_DIR}/../../thirdParty/mallocMC")
124124
find_package(mallocMC 2.2.0 REQUIRED)
125125
endif(NOT mallocMC_FOUND)
126126

@@ -193,22 +193,20 @@ endif()
193193
if(CUDAMEMTEST_ENABLE)
194194
set(SAME_NVCC_FLAGS_IN_SUBPROJECTS OFF)
195195
find_path(CUDA_MEMTEST_DIR
196-
NAMES CMakeLists.txt
197-
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../../thirdParty/cuda_memtest"
196+
NAMES cuda_memtest.h
197+
PATHS "${PIConGPUapp_SOURCE_DIR}/../../thirdParty/cuda_memtest"
198198
DOC "path to cuda_memtest"
199-
)
200-
199+
)
201200
add_subdirectory(${CUDA_MEMTEST_DIR}
202201
"${CMAKE_CURRENT_BINARY_DIR}/build_cuda_memtest")
203202

204203

205204
# mpiInfo utility
206205
find_path(MPI_INFO_DIR
207-
NAMES CMakeLists.txt
208-
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../mpiInfo"
206+
NAMES main.cpp
207+
PATHS "${PIConGPUapp_SOURCE_DIR}/../mpiInfo"
209208
DOC "path to mpiInfo"
210-
)
211-
209+
)
212210
add_subdirectory(${MPI_INFO_DIR}
213211
"${CMAKE_CURRENT_BINARY_DIR}/build_mpiInfo")
214212
endif()
@@ -356,7 +354,7 @@ endif(ISAAC_FOUND)
356354

357355
find_path(PIC_EXTENSION_PATH
358356
NAMES include/picongpu/param/components.param
359-
PATHS "${CMAKE_CURRENT_SOURCE_DIR}"
357+
PATHS "${PIConGPUapp_SOURCE_DIR}"
360358
DOC "search PATH to extension folder"
361359
NO_DEFAULT_PATH
362360
NO_CMAKE_ENVIRONMENT_PATH
@@ -378,8 +376,8 @@ include_directories(BEFORE ${PIC_EXTENSION_PATH}/include)
378376

379377
# files with accelerator code (kernel and API calls)
380378
list(APPEND ACCSRCFILES
381-
"${CMAKE_CURRENT_SOURCE_DIR}/main.cpp"
382-
"${CMAKE_CURRENT_SOURCE_DIR}/versionFormat.cpp"
379+
"${PIConGPUapp_SOURCE_DIR}/main.cpp"
380+
"${PIConGPUapp_SOURCE_DIR}/versionFormat.cpp"
383381
)
384382

385383
# host-only sources
@@ -419,8 +417,8 @@ if(${CLANG_TIDY_RETURN} EQUAL 0)
419417
CLANG_TIDY_VERSION ${CLANG_TIDY_OUTPUT})
420418

421419
if("${CLANG_TIDY_VERSION}" VERSION_GREATER_EQUAL "3.9.0")
422-
get_directory_property(ALL_INCLUDES DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} INCLUDE_DIRECTORIES)
423-
get_directory_property(ALL_DEFINES DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMPILE_DEFINITIONS)
420+
get_directory_property(ALL_INCLUDES DIRECTORY ${PIConGPUapp_SOURCE_DIR} INCLUDE_DIRECTORIES)
421+
get_directory_property(ALL_DEFINES DIRECTORY ${PIConGPUapp_SOURCE_DIR} COMPILE_DEFINITIONS)
424422
foreach(i ${ALL_INCLUDES})
425423
list(APPEND ALL_INCLUDES_STR "-I${i}")
426424
endforeach()
@@ -454,14 +452,14 @@ endif()
454452
install(TARGETS picongpu
455453
RUNTIME DESTINATION bin)
456454

457-
#file(GLOB scripts_to_copy "${CMAKE_CURRENT_SOURCE_DIR}/bin/*.sh")
455+
#file(GLOB scripts_to_copy "${PIConGPUapp_SOURCE_DIR}/bin/*.sh")
458456
#foreach(f ${scripts_to_copy})
459457
# GET_FILENAME_COMPONENT(file_name ${f} NAME CACHE)
460458
# install(FILES "${f}" DESTINATION bin PERMISSIONS OWNER_EXECUTE OWNER_READ
461459
# OWNER_WRITE GROUP_READ GROUP_EXECUTE)
462460
#endforeach(f)
463461

464-
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" DESTINATION bin
462+
install(DIRECTORY "${PIConGPUapp_SOURCE_DIR}/../../bin/" DESTINATION bin
465463
FILES_MATCHING PATTERN "*"
466464
PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_READ GROUP_EXECUTE
467465
PATTERN .svn EXCLUDE
@@ -478,8 +476,8 @@ if( (NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "${PIC_EXTENSION_PATH}") OR
478476
#if source not exists than copy
479477
if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/${dir}")
480478
#copy important subfolders from extension path (default PIConGPU parameter)
481-
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../${dir}/")
482-
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../${dir}/."
479+
if(EXISTS "${PIConGPUapp_SOURCE_DIR}/../../${dir}/")
480+
install(DIRECTORY "${PIConGPUapp_SOURCE_DIR}/../../${dir}/."
483481
DESTINATION "${CMAKE_INSTALL_PREFIX}/${dir}"
484482
PATTERN .svn EXCLUDE
485483
PATTERN .git EXCLUDE

0 commit comments

Comments
 (0)