Skip to content

Commit 6260c25

Browse files
committed
Superficial cmake tweaks
1 parent 7772a64 commit 6260c25

File tree

3 files changed

+27
-26
lines changed

3 files changed

+27
-26
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/build/
2+
/build-*/
23
# Prerequisites
34
*.d
45

CMakeLists.txt

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,7 @@ function(swig_fortran_add_module name)
114114
# We're using C++
115115
set_property(SOURCE src/${name}.i PROPERTY CPLUSPLUS ON)
116116
# We need to include the source directory
117-
set_property(SOURCE src/${name}.i
118-
PROPERTY USE_TARGET_INCLUDE_DIRECTORIES ON)
117+
set_property(SOURCE src/${name}.i PROPERTY USE_TARGET_INCLUDE_DIRECTORIES ON)
119118

120119
if (FLIBCPP_USE_SWIG)
121120
# SWIG is available; actually generate the library dynamically.
@@ -124,41 +123,44 @@ function(swig_fortran_add_module name)
124123
LANGUAGE Fortran
125124
TYPE USE_BUILD_SHARED_LIBS
126125
OUTPUT_DIR "${FLIBCPP_GENERATE_DIR}"
127-
SOURCES src/${name}.i ${ARGN})
126+
SOURCES src/${name}.i ${ARGN}
127+
)
128128
else()
129129
# SWIG is *not* being used: compile the code committed in the repository,
130130
# generated by the developer with SWIG.
131131
add_library(${name}
132132
"${FLIBCPP_GENERATE_DIR}/${name}.f90"
133133
"${FLIBCPP_GENERATE_DIR}/${name}FORTRAN_wrap.cxx"
134-
${ARGN})
134+
${ARGN}
135+
)
135136
endif()
136137

137138
# Enable C++11
138-
target_compile_features(${name} PRIVATE cxx_std_11)
139-
140-
# Use correct include directories for C++
141-
target_include_directories(${name}
142-
PRIVATE
143-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
139+
target_compile_features(${name}
140+
PRIVATE
141+
cxx_std_11
144142
)
145143

146-
# Use correct Fortran module directories
147144
target_include_directories(${name}
148-
PUBLIC
149-
$<BUILD_INTERFACE:${CMAKE_Fortran_MODULE_DIRECTORY}>
150-
$<INSTALL_INTERFACE:${FLIBCPP_INSTALL_MODULEDIR}>
145+
PRIVATE
146+
# Internal C++ headers
147+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
148+
PUBLIC
149+
# Fortran modules
150+
$<BUILD_INTERFACE:${CMAKE_Fortran_MODULE_DIRECTORY}>
151+
$<INSTALL_INTERFACE:${FLIBCPP_INSTALL_MODULEDIR}>
151152
)
152153

153154
# Set up installation
154155
install(TARGETS ${name}
155-
EXPORT Flibcpp-targets
156-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
157-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
156+
EXPORT Flibcpp-targets
157+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
158+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
158159
)
159160
# Add to list of targets to export
160161
set(FLIBCPP_LIBRARIES ${FLIBCPP_LIBRARIES} ${FLIBCPP_NAMESPACE}${name}
161-
PARENT_SCOPE)
162+
PARENT_SCOPE
163+
)
162164
endfunction()
163165

164166
# Four SWIG libraries
@@ -174,7 +176,8 @@ target_link_libraries(flc_algorithm flc_random flc)
174176

175177
# Install module files
176178
install(DIRECTORY "${CMAKE_Fortran_MODULE_DIRECTORY}/"
177-
DESTINATION "${FLIBCPP_INSTALL_MODULEDIR}")
179+
DESTINATION "${FLIBCPP_INSTALL_MODULEDIR}"
180+
)
178181

179182
install(EXPORT Flibcpp-targets
180183
FILE FlibcppTargets.cmake
@@ -189,19 +192,19 @@ configure_package_config_file(
189192
${CMAKE_CURRENT_LIST_DIR}/cmake/FlibcppConfig.cmake.in
190193
${CMAKE_CURRENT_BINARY_DIR}/FlibcppConfig.cmake
191194
INSTALL_DESTINATION ${FLIBCPP_INSTALL_CONFIGDIR}
192-
)
195+
)
193196

194197
write_basic_package_version_file(
195198
${CMAKE_CURRENT_BINARY_DIR}/FlibcppConfigVersion.cmake
196199
VERSION ${PROJECT_VERSION}
197200
COMPATIBILITY SameMajorVersion
198-
)
201+
)
199202

200203
install(
201204
FILES ${CMAKE_CURRENT_BINARY_DIR}/FlibcppConfig.cmake
202205
${CMAKE_CURRENT_BINARY_DIR}/FlibcppConfigVersion.cmake
203206
DESTINATION ${FLIBCPP_INSTALL_CONFIGDIR}
204-
)
207+
)
205208

206209
#---------------------------------------------------------------------------#
207210
# TESTING

scripts/cmake_sputnik renamed to scripts/cmake_vostok

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,10 @@ cd $BUILD
77

88
cmake \
99
-G Ninja \
10-
-D CMAKE_CXX_COMPILER="/opt/local/bin/g++" \
11-
-D CMAKE_C_COMPILER="/opt/local/bin/gcc" \
12-
-D CMAKE_Fortran_COMPILER="/opt/local/bin/gfortran" \
10+
-D FLIBCPP_DEV=ON \
1311
-D SWIG_EXECUTABLE="/rnsdhpc/code/build/swig-debug/swig" \
1412
-D SWIG_DIR="/rnsdhpc/code/src/swig/Lib" \
1513
-D BUILD_SHARED_LIBS=ON \
16-
-D CMAKE_BUILD_TYPE=Debug \
1714
-D CMAKE_Fortran_FLAGS="-Wall -Wextra -Wimplicit-procedure -Wimplicit-interface -Wno-compare-reals -std=f2003" \
1815
-D CMAKE_CXX_FLAGS="-Wall -Wextra" \
1916
$SOURCE

0 commit comments

Comments
 (0)