Skip to content

Commit 3b0f0b3

Browse files
author
Rob McDonald
committed
Add ExternalProject_add based build of ap203min example
1 parent 5c6ffc7 commit 3b0f0b3

2 files changed

Lines changed: 109 additions & 0 deletions

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#
2+
# CMakeLists.txt for AP203 Minimum
3+
#
4+
# This file is released to the public domain. Any part of this file may be
5+
# freely copied in part or in full for any purpose. No acknowledgment is required
6+
# for the use of this file.
7+
#
8+
project(AP203Minimum)
9+
cmake_minimum_required(VERSION 2.8)
10+
11+
INCLUDE( ExternalProject )
12+
13+
set(CMAKE_MODULE_PATH ${AP203Minimum_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
14+
15+
INCLUDE( External_STEPCode )
16+
17+
#####
18+
# Variables ideally set by FindSTEPCode.cmake
19+
20+
IF(NOT WIN32)
21+
set( STEPCODE_LIBRARIES
22+
${STEPCODE_INSTALL_DIR}/lib/libbase.a
23+
${STEPCODE_INSTALL_DIR}/lib/libstepcore.a
24+
${STEPCODE_INSTALL_DIR}/lib/libstepeditor.a
25+
${STEPCODE_INSTALL_DIR}/lib/libstepdai.a
26+
${STEPCODE_INSTALL_DIR}/lib/libsteputils.a
27+
${STEPCODE_INSTALL_DIR}/lib/libsdai_ap203.a
28+
)
29+
ELSE()
30+
set( STEPCODE_LIBRARIES
31+
${STEPCODE_INSTALL_DIR}/lib/libbase.lib
32+
${STEPCODE_INSTALL_DIR}/lib/libstepcore.lib
33+
${STEPCODE_INSTALL_DIR}/lib/libstepeditor.lib
34+
${STEPCODE_INSTALL_DIR}/lib/libstepdai.lib
35+
${STEPCODE_INSTALL_DIR}/lib/libsteputils.lib
36+
${STEPCODE_INSTALL_DIR}/lib/libsdai_ap203.lib
37+
${STEPCODE_INSTALL_DIR}/lib/libexpress.lib
38+
${STEPCODE_INSTALL_DIR}/lib/libexppp.lib
39+
shlwapi.lib
40+
)
41+
ENDIF()
42+
43+
MESSAGE( STATUS "STEPCODE_INSTALL_DIR: " ${STEPCODE_INSTALL_DIR} )
44+
45+
set( STEPCODE_INCLUDE_DIR
46+
${STEPCODE_INSTALL_DIR}/include/stepcode
47+
${STEPCODE_INSTALL_DIR}/include/stepcode/base
48+
${STEPCODE_INSTALL_DIR}/include/stepcode/clstepcore
49+
${STEPCODE_INSTALL_DIR}/include/stepcode/cldai
50+
${STEPCODE_INSTALL_DIR}/include/stepcode/clutils
51+
${STEPCODE_INSTALL_DIR}/include/stepcode/cleditor
52+
${STEPCODE_INSTALL_DIR}/include/schemas/sdai_ap203
53+
)
54+
55+
# End of variables ideally set by FindSTEPCode.cmake
56+
######
57+
58+
59+
include_directories(
60+
${STEPCODE_INCLUDE_DIR}
61+
)
62+
63+
set(SRCS ../ap203min.cpp)
64+
65+
set(HDRS )
66+
67+
add_executable( ${PROJECT_NAME} ${SRCS} ${HDRS})
68+
69+
add_dependencies( ${PROJECT_NAME} STEPCODE )
70+
71+
target_link_libraries( ${PROJECT_NAME}
72+
${STEPCODE_LIBRARIES}
73+
)
74+
75+
# Local Variables:
76+
# tab-width: 8
77+
# mode: cmake
78+
# indent-tabs-mode: t
79+
# End:
80+
# ex: shiftwidth=2 tabstop=8
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
ExternalProject_Add( STEPCODE
2+
URL ${CMAKE_CURRENT_SOURCE_DIR}/../../..
3+
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
4+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
5+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
6+
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
7+
-DSC_BUILD_TYPE=Debug
8+
-DSC_BUILD_SCHEMAS=ap203/ap203.exp
9+
-DSC_BUILD_STATIC_LIBS=ON
10+
-DSC_PYTHON_GENERATOR=OFF
11+
-DSC_INSTALL_PREFIX:PATH=<INSTALL_DIR>
12+
)
13+
ExternalProject_Get_Property( STEPCODE SOURCE_DIR )
14+
ExternalProject_Get_Property( STEPCODE BINARY_DIR )
15+
ExternalProject_Get_Property( STEPCODE INSTALL_DIR )
16+
17+
IF( NOT WIN32 )
18+
SET( STEPCODE_INSTALL_DIR ${SOURCE_DIR}/../sc-install )
19+
ELSE()
20+
SET( STEPCODE_INSTALL_DIR ${INSTALL_DIR} )
21+
ENDIF()
22+
23+
SET( STEPCODE_BINARY_DIR ${BINARY_DIR} )
24+
25+
# SC CMake does not honor -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
26+
# Consequently, force Debug so it installs in ../sc-install directory
27+
# instead of /usr/local/lib.
28+
#
29+
# SC's own programs fail to build with -DSC_BUILD_SHARED_LIBS=OFF

0 commit comments

Comments
 (0)