Skip to content

Commit 8db7249

Browse files
author
Rob McDonald
committed
Initial commit of AP203 Minimum, a tutorial for STEP, STEPcode, and AP203.
1 parent c269cd8 commit 8db7249

2 files changed

Lines changed: 823 additions & 0 deletions

File tree

example/ap203min/CMakeLists.txt

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
PROJECT( AP203Minimum )
2+
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
3+
4+
# Set STEPCODE_ROOT_DIR to point to the root of the STEPcode source tree.
5+
6+
# Use STEPcode as library, but build from this build process.
7+
set( SC_IS_SUBBUILD TRUE )
8+
9+
# STEPcode build type, DEBUG or RELEASE
10+
set( SC_BUILD_TYPE DEBUG )
11+
12+
# Path to STEPcode
13+
set( STEPCODE_BUILD_DIR ${CMAKE_BINARY_DIR}/sc CACHE PATH "STEPcode build subdir" )
14+
15+
# STEP schema to build and link against.
16+
set( SCHEMA ap203 )
17+
set( SC_BUILD_SCHEMAS ${SCHEMA} CACHE INTERNAL "Schema, internal, immutable" FORCE )
18+
19+
# Parse out schema name and library.
20+
file( GLOB SCHEMA_FILE "${STEPCODE_ROOT_DIR}/data/${SCHEMA}/*.exp" )
21+
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
22+
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_LINK_NAME ${SCHEMA_SN} )
23+
set( STEPCODE_LIBRARIES base stepcore stepeditor stepdai steputils sdai_${SCHEMA_LINK_NAME} )
24+
25+
# Add STEPCode project to CMake build.
26+
add_subdirectory( ${STEPCODE_ROOT_DIR} "${CMAKE_CURRENT_BINARY_DIR}/sc" EXCLUDE_FROM_ALL )
27+
28+
# Set up STEPcode include directories.
29+
set( STEPCODE_INCLUDE_DIR
30+
${STEPCODE_ROOT_DIR}/src/base
31+
${STEPCODE_ROOT_DIR}/src/clstepcore
32+
${STEPCODE_ROOT_DIR}/src/cldai
33+
${STEPCODE_ROOT_DIR}/src/clutils
34+
${STEPCODE_ROOT_DIR}/src/cleditor
35+
${STEPCODE_BUILD_DIR}/include
36+
${STEPCODE_ROOT_DIR}/include
37+
${CMAKE_BINARY_DIR}
38+
)
39+
40+
# Reset sane values for build destination. Otherwise, everything ends up in ${CMAKE_BINARY_DIR}/sc
41+
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
42+
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
43+
44+
include_directories(
45+
${STEPCODE_INCLUDE_DIR}
46+
)
47+
48+
# Application sources and headers
49+
set( SRCS
50+
ap203min.cpp
51+
)
52+
53+
set( HDRS
54+
)
55+
56+
add_executable( ${PROJECT_NAME} ${SRCS} ${HDRS} )
57+
58+
target_link_libraries( ${PROJECT_NAME} ${STEPCODE_LIBRARIES} )
59+
60+
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-I${STEPCODE_BUILD_DIR}/data/${SCHEMA_LINK_NAME}" )

0 commit comments

Comments
 (0)