Skip to content

Commit 2d108f0

Browse files
committed
Final change to build system
1 parent 9877e4c commit 2d108f0

File tree

4 files changed

+34
-20
lines changed

4 files changed

+34
-20
lines changed

CMakeLists.txt

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,28 @@ cmake_minimum_required(VERSION 2.6)
22
project(FAST++-superbuild C CXX)
33

44
if (NOT CMAKE_BUILD_TYPE)
5-
message(STATUS "No build type selected, default to Release (-DCMAKE_BUILD_TYPE=...)")
5+
message(STATUS "No build type selected (-DCMAKE_BUILD_TYPE=...)")
6+
message(STATUS "Default to Release.")
67
set(CMAKE_BUILD_TYPE "Release")
78
endif()
89

910
include(ExternalProject)
1011

12+
# Set default install dir to "here"
13+
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
14+
message(STATUS "No install directory selected (-DCMAKE_INSTALL_PREFIX=...)")
15+
message(STATUS "Default to ${PROJECT_SOURCE_DIR}/bin")
16+
set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}" CACHE PATH "default install path" FORCE)
17+
endif()
18+
19+
if (CMAKE_INSTALL_PREFIX STREQUAL ${PROJECT_SOURCE_DIR})
20+
set(FASTPP_SHARE_DIR ${PROJECT_SOURCE_DIR}/share)
21+
set(INSTALL_SHARED_DATA "0")
22+
else()
23+
set(FASTPP_SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/FAST++)
24+
set(INSTALL_SHARED_DATA "1")
25+
endif()
26+
1127
# Configure and build cfitsio
1228
ExternalProject_Add(cfitsio
1329
SOURCE_DIR ${PROJECT_SOURCE_DIR}/external/cfitsio
@@ -42,15 +58,21 @@ ExternalProject_Add(phy++
4258
ExternalProject_Add(fast++
4359
DEPENDS phy++
4460
SOURCE_DIR ${PROJECT_SOURCE_DIR}/src
45-
DOWNLOAD_DIR ${PROJECT_SOURCE_DIR}/external/phypp
4661
CMAKE_ARGS
47-
-DNO_REFLECTION=ON
48-
-DNO_FFTW=ON
49-
-DNO_LAPACK=ON
50-
-DNO_GSL=ON
51-
-DNO_WCSLIB=ON
52-
-DPHYPP_INPLACE_BUILD=ON
5362
-DCFITSIO_ROOT_DIR=${PROJECT_SOURCE_DIR}/external
54-
-DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/external
55-
-DCMAKE_BUILD_TYPE=Release)
63+
-DPHYPP_ROOT_DIR=${PROJECT_SOURCE_DIR}/external
64+
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}
65+
-DCMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/external/phypp/cmake
66+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
67+
-DFASTPP_SHARE_DIR=${FASTPP_SHARE_DIR})
68+
69+
if (INSTALL_SHARED_DATA)
70+
install(FILES
71+
share/FILTER.RES.latest
72+
share/TEMPLATE_ERROR.fast.v0.2
73+
DESTINATION ${FASTPP_SHARE_DIR} COMPONENT data)
74+
endif()
5675

76+
install(PROGRAMS
77+
${CMAKE_BINARY_DIR}/bin/fast++
78+
DESTINATION bin COMPONENT runtime)
File renamed without changes.
File renamed without changes.

src/CMakeLists.txt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,20 @@ if (NOT CMAKE_BUILD_TYPE)
66
set(CMAKE_BUILD_TYPE "Release")
77
endif()
88

9-
set(CFITSIO_ROOT_DIR ${PROJECT_SOURCE_DIR}/../external)
10-
set(PHYPP_ROOT_DIR ${PROJECT_SOURCE_DIR}/../external)
119
set(NO_REFLECTION ON)
1210
set(NO_FFTW ON)
1311
set(NO_LAPACK ON)
1412
set(NO_GSL ON)
1513
set(NO_WCSLIB ON)
16-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/../external/phypp/cmake")
14+
1715
find_package(phypp REQUIRED)
1816

1917
# Setup share directory
20-
set(FASTPP_SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/FAST++)
21-
install(FILES
22-
share/FILTER.RES.latest
23-
share/TEMPLATE_ERROR.fast.v0.2
24-
DESTINATION ${FASTPP_SHARE_DIR} COMPONENT data)
25-
2618
add_definitions(-DFASTPP_SHARE_DIR="${FASTPP_SHARE_DIR}")
2719

2820
# Include dependencies
21+
message(STATUS ${PHYPP_INCLUDE_DIRS})
2922
include_directories(${PHYPP_INCLUDE_DIRS})
30-
include_directories(${PROJECT_SOURCE_DIR}/../external/include)
3123

3224
# Build FAST++
3325
add_executable(fast++

0 commit comments

Comments
 (0)