Skip to content

Commit c096029

Browse files
committed
Build an internal library and use that for building all the test utilities as well as the loadable module.
1 parent 7a037d8 commit c096029

File tree

3 files changed

+74
-32
lines changed

3 files changed

+74
-32
lines changed

src/libaatm/ATM.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*******************************************************************************
2+
* ALMA - Atacama Large Millimiter Array
3+
* (c) Instituto de Estructura de la Materia, 2009
4+
*
5+
* This library is free software; you can redistribute it and/or
6+
* modify it under the terms of the GNU Lesser General Public
7+
* License as published by the Free Software Foundation; either
8+
* version 2.1 of the License, or (at your option) any later version.
9+
*
10+
* This library is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
* Lesser General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU Lesser General Public
16+
* License along with this library; if not, write to the Free Software
17+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*
19+
* "@(#) $Id: ATMProfile.cpp Exp $"
20+
*
21+
* who when what
22+
* -------- -------- ----------------------------------------------
23+
* pardo 24/03/09 created
24+
*/
25+
26+
// This is a blank file for easing the build of the loadable module.

src/libaatm/CMakeLists.txt

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11

2-
# Add the library target
2+
# Name of the internal static library
3+
set(AATM_LIB aatm_)
34

4-
add_library(aatm SHARED
5+
# Name of loadable module / shared library
6+
set(AATM_MOD aatm)
7+
8+
# Library sources
9+
set(AATM_SOURCES
510
src/ATMAngle.cpp
611
src/ATMError.cpp
712
src/ATMException.cpp
@@ -24,14 +29,22 @@ add_library(aatm SHARED
2429
src/ATMWVRMeasurement.cpp
2530
)
2631

27-
target_include_directories(aatm PUBLIC
32+
# Add the internal library target
33+
34+
add_library(${AATM_LIB} STATIC ${AATM_SOURCES})
35+
36+
target_include_directories(${AATM_LIB} PUBLIC
2837
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2938
$<INSTALL_INTERFACE:include>
30-
PRIVATE src)
39+
PRIVATE src
40+
)
41+
42+
# Now define rules for the loadable module / shared library
43+
44+
add_library(${AATM_MOD} MODULE ATM.cpp)
45+
46+
target_link_libraries(${AATM_MOD} PRIVATE ${AATM_LIB})
3147

3248
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
3349

34-
# Hardcode this to "lib" for now, since lib32/lib64 is a pain
35-
# to use on many systems.
36-
#install(TARGETS aatm DESTINATION ${CMAKE_INSTALL_LIBDIR})
37-
install(TARGETS aatm DESTINATION lib)
50+
install(TARGETS ${AATM_MOD} DESTINATION ${CMAKE_INSTALL_LIBDIR})

src/test/CMakeLists.txt

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11

2+
# Name of the internal static library
3+
set(AATM_LIB aatm_)
4+
25
#======================================================
36

47
add_executable(aatm_test_basic
@@ -14,9 +17,9 @@ target_include_directories(aatm_test_basic PRIVATE
1417
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
1518
)
1619

17-
target_link_libraries(aatm_test_basic aatm)
20+
target_link_libraries(aatm_test_basic ${AATM_LIB})
1821

19-
install(TARGETS aatm_test_basic DESTINATION ${CMAKE_INSTALL_BINDIR})
22+
# install(TARGETS aatm_test_basic DESTINATION ${CMAKE_INSTALL_BINDIR})
2023

2124
add_test(NAME test_basic COMMAND aatm_test_basic)
2225

@@ -35,9 +38,9 @@ target_include_directories(aatm_test_version PRIVATE
3538
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
3639
)
3740

38-
target_link_libraries(aatm_test_version aatm)
41+
target_link_libraries(aatm_test_version ${AATM_LIB})
3942

40-
install(TARGETS aatm_test_version DESTINATION ${CMAKE_INSTALL_BINDIR})
43+
# install(TARGETS aatm_test_version DESTINATION ${CMAKE_INSTALL_BINDIR})
4144

4245
add_test(NAME test_version COMMAND aatm_test_version)
4346

@@ -56,9 +59,9 @@ target_include_directories(aatm_test_abinitio PRIVATE
5659
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
5760
)
5861

59-
target_link_libraries(aatm_test_abinitio aatm)
62+
target_link_libraries(aatm_test_abinitio ${AATM_LIB})
6063

61-
install(TARGETS aatm_test_abinitio DESTINATION ${CMAKE_INSTALL_BINDIR})
64+
# install(TARGETS aatm_test_abinitio DESTINATION ${CMAKE_INSTALL_BINDIR})
6265

6366
add_test(NAME test_abinitio COMMAND aatm_test_abinitio)
6467

@@ -85,9 +88,9 @@ target_include_directories(aatm_test_apex PRIVATE
8588
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
8689
)
8790

88-
target_link_libraries(aatm_test_apex aatm)
91+
target_link_libraries(aatm_test_apex ${AATM_LIB})
8992

90-
install(TARGETS aatm_test_apex DESTINATION ${CMAKE_INSTALL_BINDIR})
93+
# install(TARGETS aatm_test_apex DESTINATION ${CMAKE_INSTALL_BINDIR})
9194

9295
# This executable reliably segfaults...
9396
# add_test(NAME test_apex COMMAND aatm_test_apex)
@@ -115,9 +118,9 @@ target_include_directories(aatm_test_length PRIVATE
115118
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
116119
)
117120

118-
target_link_libraries(aatm_test_length aatm)
121+
target_link_libraries(aatm_test_length ${AATM_LIB})
119122

120-
install(TARGETS aatm_test_length DESTINATION ${CMAKE_INSTALL_BINDIR})
123+
# install(TARGETS aatm_test_length DESTINATION ${CMAKE_INSTALL_BINDIR})
121124

122125
add_test(NAME test_length COMMAND aatm_test_length)
123126

@@ -136,9 +139,9 @@ target_include_directories(aatm_test_profile PRIVATE
136139
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
137140
)
138141

139-
target_link_libraries(aatm_test_profile aatm)
142+
target_link_libraries(aatm_test_profile ${AATM_LIB})
140143

141-
install(TARGETS aatm_test_profile DESTINATION ${CMAKE_INSTALL_BINDIR})
144+
# install(TARGETS aatm_test_profile DESTINATION ${CMAKE_INSTALL_BINDIR})
142145

143146
add_test(NAME test_profile COMMAND aatm_test_profile)
144147

@@ -157,9 +160,9 @@ target_include_directories(aatm_test_skystatus PRIVATE
157160
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
158161
)
159162

160-
target_link_libraries(aatm_test_skystatus aatm)
163+
target_link_libraries(aatm_test_skystatus ${AATM_LIB})
161164

162-
install(TARGETS aatm_test_skystatus DESTINATION ${CMAKE_INSTALL_BINDIR})
165+
# install(TARGETS aatm_test_skystatus DESTINATION ${CMAKE_INSTALL_BINDIR})
163166

164167
add_test(NAME test_skystatus COMMAND aatm_test_skystatus)
165168

@@ -178,9 +181,9 @@ target_include_directories(aatm_test_skystatusinv PRIVATE
178181
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
179182
)
180183

181-
target_link_libraries(aatm_test_skystatusinv aatm)
184+
target_link_libraries(aatm_test_skystatusinv ${AATM_LIB})
182185

183-
install(TARGETS aatm_test_skystatusinv DESTINATION ${CMAKE_INSTALL_BINDIR})
186+
# install(TARGETS aatm_test_skystatusinv DESTINATION ${CMAKE_INSTALL_BINDIR})
184187

185188
add_test(NAME test_skystatusinv COMMAND aatm_test_skystatusinv)
186189

@@ -207,9 +210,9 @@ target_include_directories(aatm_test_refindex PRIVATE
207210
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
208211
)
209212

210-
target_link_libraries(aatm_test_refindex aatm)
213+
target_link_libraries(aatm_test_refindex ${AATM_LIB})
211214

212-
install(TARGETS aatm_test_refindex DESTINATION ${CMAKE_INSTALL_BINDIR})
215+
# install(TARGETS aatm_test_refindex DESTINATION ${CMAKE_INSTALL_BINDIR})
213216

214217
add_test(NAME test_refindex COMMAND aatm_test_refindex)
215218

@@ -228,9 +231,9 @@ target_include_directories(aatm_test_specgrid PRIVATE
228231
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
229232
)
230233

231-
target_link_libraries(aatm_test_specgrid aatm)
234+
target_link_libraries(aatm_test_specgrid ${AATM_LIB})
232235

233-
install(TARGETS aatm_test_specgrid DESTINATION ${CMAKE_INSTALL_BINDIR})
236+
# install(TARGETS aatm_test_specgrid DESTINATION ${CMAKE_INSTALL_BINDIR})
234237

235238
add_test(NAME test_specgrid COMMAND aatm_test_specgrid)
236239

@@ -249,9 +252,9 @@ target_include_directories(aatm_test_sma PRIVATE
249252
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
250253
)
251254

252-
target_link_libraries(aatm_test_sma aatm)
255+
target_link_libraries(aatm_test_sma ${AATM_LIB})
253256

254-
install(TARGETS aatm_test_sma DESTINATION ${CMAKE_INSTALL_BINDIR})
257+
# install(TARGETS aatm_test_sma DESTINATION ${CMAKE_INSTALL_BINDIR})
255258

256259
add_test(NAME test_sma COMMAND aatm_test_sma)
257260

@@ -278,8 +281,8 @@ target_include_directories(aatm_test_atm651 PRIVATE
278281
"${CMAKE_CURRENT_SOURCE_DIR}/../libaatm/src"
279282
)
280283

281-
target_link_libraries(aatm_test_atm651 aatm)
284+
target_link_libraries(aatm_test_atm651 ${AATM_LIB})
282285

283-
install(TARGETS aatm_test_atm651 DESTINATION ${CMAKE_INSTALL_BINDIR})
286+
# install(TARGETS aatm_test_atm651 DESTINATION ${CMAKE_INSTALL_BINDIR})
284287

285288
add_test(NAME test_atm651 COMMAND aatm_test_atm651)

0 commit comments

Comments
 (0)