More whitespace and case tweaks

This commit is contained in:
Cliff Yapp 2014-02-03 22:34:55 -05:00 committed by Mark Pictor
parent f4ac673b71
commit 10fb7419b5
16 changed files with 198 additions and 201 deletions

View file

@ -1,22 +1,22 @@
# To build one or more schemas, configure with
# 'cmake -DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
if( NOT "${SC_BUILD_SCHEMAS}" STREQUAL "" )
include( ${SC_CMAKE_DIR}/schema_scanner/schemaScanner.cmake )
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
get_filename_component( name ${src} NAME_WE )
message( STATUS "Additional SDAI executable: ${name}" )
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
if(NOT "${SC_BUILD_SCHEMAS}" STREQUAL "")
include(${SC_CMAKE_DIR}/schema_scanner/schemaScanner.cmake)
foreach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
get_filename_component(name ${src} NAME_WE)
message(STATUS "Additional SDAI executable: ${name}")
endforeach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
if( SC_BUILD_SCHEMAS STREQUAL "ALL" )
file( GLOB_RECURSE SC_BUILD_SCHEMAS ${SC_SOURCE_DIR}/data/*.exp )
if(SC_BUILD_SCHEMAS STREQUAL "ALL")
file(GLOB_RECURSE SC_BUILD_SCHEMAS ${SC_SOURCE_DIR}/data/*.exp)
endif()
foreach( FILE ${SC_BUILD_SCHEMAS} )
foreach(FILE ${SC_BUILD_SCHEMAS})
# figure out an absolute path to the file
LOCATE_SCHEMA( ${FILE} abspath )
SCHEMA_CMLIST( ${abspath} )
LOCATE_SCHEMA(${FILE} abspath)
SCHEMA_CMLIST(${abspath})
endforeach()
endif( NOT "${SC_BUILD_SCHEMAS}" STREQUAL "" )
endif(NOT "${SC_BUILD_SCHEMAS}" STREQUAL "")
# Local Variables:
# tab-width: 8

View file

@ -1,4 +1,4 @@
SET(sc_MANS
set(sc_MANS
man/man1/fedex.1
man/man1/exp2cxx.1
)
@ -7,9 +7,9 @@ if(NOT DEFINED MAN_DIR)
set(MAN_DIR share/man)
endif(NOT DEFINED MAN_DIR)
IF(NOT WIN32)
INSTALL(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1)
ENDIF(NOT WIN32)
if(NOT WIN32)
install(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1)
endif(NOT WIN32)
# Local Variables:
# tab-width: 8

View file

@ -5,59 +5,59 @@
# freely copied in part or in full for any purpose. No acknowledgment is required
# for the use of this file.
#
PROJECT( AP203Minimum )
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
project(AP203Minimum)
cmake_minimum_required(VERSION 2.8)
# Set STEPCODE_ROOT_DIR to point to the root of the STEPcode source tree.
if( NOT DEFINED STEPCODE_ROOT_DIR )
message( FATAL_ERROR "STEPCODE_ROOT_DIR is not defined! Set via cmake-gui or on command line:\n cmake .. -DSTEPCODE_ROOT_DIR=/path/to/sc" )
endif( NOT DEFINED STEPCODE_ROOT_DIR )
if(NOT DEFINED STEPCODE_ROOT_DIR)
message(FATAL_ERROR "STEPCODE_ROOT_DIR is not defined! Set via cmake-gui or on command line:\n cmake .. -DSTEPCODE_ROOT_DIR=/path/to/sc")
endif(NOT DEFINED STEPCODE_ROOT_DIR)
# STEPCODE_ROOT_DIR is relative or absolute path?
if( EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
set( STEPCODE_ROOT_DIR "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}" )
message( "** STEPCODE_ROOT_DIR is a relative path; converted to absolute path: ${STEPCODE_ROOT_DIR}." )
if(EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt")
set(STEPCODE_ROOT_DIR "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}")
message("** STEPCODE_ROOT_DIR is a relative path; converted to absolute path: ${STEPCODE_ROOT_DIR}.")
else()
if( NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
message( FATAL_ERROR "**** Cannot locate STEPCODE_ROOT_DIR - try an absolute path." )
endif( NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
endif( EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
if(NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt")
message(FATAL_ERROR "**** Cannot locate STEPCODE_ROOT_DIR - try an absolute path.")
endif(NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt")
endif(EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt")
# Use STEPcode as library, but build from this build process.
set( SC_IS_SUBBUILD TRUE )
set(SC_IS_SUBBUILD TRUE)
# Build type, DEBUG or RELEASE
if( NOT DEFINED CMAKE_BUILD_TYPE )
set( CMAKE_BUILD_TYPE Debug )
endif( NOT DEFINED CMAKE_BUILD_TYPE )
set( SC_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
if(NOT DEFINED CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug)
endif(NOT DEFINED CMAKE_BUILD_TYPE)
set(SC_BUILD_TYPE ${CMAKE_BUILD_TYPE})
# Path to STEPcode
set( STEPCODE_BUILD_DIR ${CMAKE_BINARY_DIR}/sc CACHE PATH "STEPcode build subdir" )
set(STEPCODE_BUILD_DIR ${CMAKE_BINARY_DIR}/sc CACHE PATH "STEPcode build subdir")
# STEP schema to build and link against.
set( SCHEMA ap203 )
set( SC_BUILD_SCHEMAS ${SCHEMA} CACHE INTERNAL "Schema, internal, immutable" FORCE )
set(SCHEMA ap203)
set(SC_BUILD_SCHEMAS ${SCHEMA} CACHE INTERNAL "Schema, internal, immutable" FORCE)
# Parse out schema name and library.
set( SCHEMA_PATH "${STEPCODE_ROOT_DIR}/data/${SCHEMA}/*.exp" )
file( GLOB SCHEMA_FILE "${SCHEMA_PATH}" )
set(SCHEMA_PATH "${STEPCODE_ROOT_DIR}/data/${SCHEMA}/*.exp")
file(GLOB SCHEMA_FILE "${SCHEMA_PATH}")
if( NOT EXISTS ${SCHEMA_FILE} )
message( FATAL_ERROR "Cannot find the schema; cannot continue. Looked for ${SCHEMA_PATH} from ${CMAKE_CURRENT_LIST_DIR}" )
endif( NOT EXISTS ${SCHEMA_FILE} )
if(NOT EXISTS ${SCHEMA_FILE})
message(FATAL_ERROR "Cannot find the schema; cannot continue. Looked for ${SCHEMA_PATH} from ${CMAKE_CURRENT_LIST_DIR}")
endif(NOT EXISTS ${SCHEMA_FILE})
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_LINK_NAME ${SCHEMA_SN} )
set( STEPCODE_LIBRARIES base stepcore stepeditor stepdai steputils sdai_${SCHEMA_LINK_NAME} )
get_filename_component(SCHEMA_SN ${SCHEMA_FILE} NAME)
string(REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_LINK_NAME ${SCHEMA_SN})
set(STEPCODE_LIBRARIES base stepcore stepeditor stepdai steputils sdai_${SCHEMA_LINK_NAME})
# Add STEPCode project to CMake build.
add_subdirectory( ${STEPCODE_ROOT_DIR} "${CMAKE_CURRENT_BINARY_DIR}/sc" EXCLUDE_FROM_ALL )
add_subdirectory(${STEPCODE_ROOT_DIR} "${CMAKE_CURRENT_BINARY_DIR}/sc" EXCLUDE_FROM_ALL)
# Set up STEPcode include directories.
set( STEPCODE_INCLUDE_DIR
set(STEPCODE_INCLUDE_DIR
${STEPCODE_ROOT_DIR}/src/base
${STEPCODE_ROOT_DIR}/src/clstepcore
${STEPCODE_ROOT_DIR}/src/cldai
@ -66,29 +66,26 @@ set( STEPCODE_INCLUDE_DIR
${STEPCODE_BUILD_DIR}/include
${STEPCODE_ROOT_DIR}/include
${CMAKE_BINARY_DIR}
)
)
# Reset sane values for build destination. Otherwise, everything ends up in ${CMAKE_BINARY_DIR}/sc
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
include_directories(
${STEPCODE_INCLUDE_DIR}
)
)
# Application sources and headers
set( SRCS
ap203min.cpp
)
set(SRCS ap203min.cpp)
set( HDRS
)
set(HDRS )
add_executable( ${PROJECT_NAME} ${SRCS} ${HDRS} )
add_executable(${PROJECT_NAME} ${SRCS} ${HDRS})
target_link_libraries( ${PROJECT_NAME} ${STEPCODE_LIBRARIES} )
target_link_libraries(${PROJECT_NAME} ${STEPCODE_LIBRARIES})
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-I${STEPCODE_BUILD_DIR}/data/${SCHEMA_LINK_NAME}" )
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-I${STEPCODE_BUILD_DIR}/data/${SCHEMA_LINK_NAME}")
# Local Variables:
# tab-width: 8

View file

@ -1,4 +1,4 @@
SET(express_HDRS
set(express_HDRS
express/alg.h
express/basic.h
express/caseitem.h
@ -24,7 +24,7 @@ SET(express_HDRS
install(FILES ${express_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/express)
SET(exppp_HDRS
set(exppp_HDRS
exppp/exppp.h
)
install(FILES ${exppp_HDRS}

View file

@ -5,7 +5,7 @@ set(SC_BASE_SOURCES
sc_getopt.cc
sc_benchmark.cc
sc_mkdir.c
)
)
set(SC_BASE_HDRS
sc_benchmark.h
@ -14,14 +14,14 @@ set(SC_BASE_HDRS
sc_trace_fprintf.h
sc_stdbool.h
sc_mkdir.h
)
)
if(MINGW OR MSVC OR BORLAND)
add_definitions( -DSC_BASE_DLL_EXPORTS )
add_definitions(-DSC_BASE_DLL_EXPORTS)
endif()
if (${SC_MEMMGR_ENABLE_CHECKS})
add_definitions( -DSC_MEMMGR_ENABLE_CHECKS )
add_definitions(-DSC_MEMMGR_ENABLE_CHECKS)
endif()
SC_ADDLIB(base "${SC_BASE_SOURCES}" "")
@ -30,18 +30,18 @@ if(MINGW OR MSVC OR BORLAND)
target_link_libraries(base psapi.lib)
endif()
if(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src" )
message( "Judy array source code not found. Downloading (don't sweat, it's public domain)..." )
file( DOWNLOAD "http://github.com/mpictor/judy-template/archive/master.tar.gz"
"${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz" SHOW_PROGRESS )
if(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src")
message("Judy array source code not found. Downloading (don't sweat, it's public domain)...")
file(DOWNLOAD "http://github.com/mpictor/judy-template/archive/master.tar.gz"
"${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz" SHOW_PROGRESS)
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf "${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/"
)
file( RENAME judy-template-master judy )
file( REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz" )
message( "Judy array source code extracted." )
endif(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src" )
)
file(RENAME judy-template-master judy)
file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz")
message("Judy array source code extracted.")
endif(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src")
install(FILES ${SC_BASE_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/base)

View file

@ -34,7 +34,7 @@ set(LIBSTEPCORE_SRCS
needFunc.cc
)
SET(SC_CLSTEPCORE_HDRS
set(SC_CLSTEPCORE_HDRS
baseType.h
complexSupport.h
dictdefs.h
@ -73,9 +73,9 @@ SC_ADDLIB(stepcore "${LIBSTEPCORE_SRCS}" "steputils;stepdai;base")
install(FILES ${SC_CLSTEPCORE_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/clstepcore)
IF(SC_ENABLE_TESTING)
ADD_SUBDIRECTORY( test )
ENDIF(SC_ENABLE_TESTING)
if(SC_ENABLE_TESTING)
add_subdirectory(test)
endif(SC_ENABLE_TESTING)
# Local Variables:
# tab-width: 8

View file

@ -9,7 +9,7 @@ set(LIBSTEPUTILS_SRCS
errordesc.cc
)
SET(SC_CLUTILS_HDRS
set(SC_CLUTILS_HDRS
dirobj.h
errordesc.h
gennodearray.h
@ -27,9 +27,9 @@ include_directories(
SC_ADDLIB(steputils "${LIBSTEPUTILS_SRCS}" "base")
IF(MINGW OR MSVC OR BORLAND)
TARGET_LINK_LIBRARIES(steputils shlwapi.lib)
ENDIF()
if(MINGW OR MSVC OR BORLAND)
target_link_libraries(steputils shlwapi.lib)
endif()
install(FILES ${SC_CLUTILS_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/clutils)

View file

@ -38,11 +38,11 @@ include_directories(
SC_ADDEXEC(exp2cxx "${exp2cxx_SOURCES}" "libexppp;express;base")
add_dependencies( exp2cxx version_string )
add_dependencies(exp2cxx version_string)
if( SC_ENABLE_TESTING )
if(SC_ENABLE_TESTING)
add_subdirectory(test)
endif( SC_ENABLE_TESTING )
endif(SC_ENABLE_TESTING)
# Local Variables:
# tab-width: 8

View file

@ -1,21 +1,21 @@
#tests specific to exp2cxx
set( unitary_dir ${SC_SOURCE_DIR}/test/unitary_schemas )
set(unitary_dir ${SC_SOURCE_DIR}/test/unitary_schemas)
add_test( NAME test_exp2cxx_unique_qualifiers
add_test(NAME test_exp2cxx_unique_qualifiers
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -DEXE=$<TARGET_FILE:exp2cxx>
-DINFILE=${unitary_dir}/unique_qualifiers.exp
-P ${CMAKE_CURRENT_SOURCE_DIR}/unique_qualifiers.cmake
)
)
add_test( NAME test_exp2cxx_inverse_qualifiers
add_test(NAME test_exp2cxx_inverse_qualifiers
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -DEXE=$<TARGET_FILE:exp2cxx>
-DINFILE=${unitary_dir}/inverse_qualifiers.exp
-P ${CMAKE_CURRENT_SOURCE_DIR}/inverse_qualifiers.cmake
)
set_tests_properties( test_exp2cxx_unique_qualifiers test_exp2cxx_inverse_qualifiers PROPERTIES DEPENDS exp2cxx )
)
set_tests_properties(test_exp2cxx_unique_qualifiers test_exp2cxx_inverse_qualifiers PROPERTIES DEPENDS exp2cxx)
# Local Variables:
# tab-width: 8

View file

@ -5,9 +5,9 @@ if(SC_PYTHON_GENERATOR)
${SC_SOURCE_DIR}/include/exppp
${SC_SOURCE_DIR}/include/express
${SC_SOURCE_DIR}/src/base
)
)
add_definitions( -DHAVE_CONFIG_H )
add_definitions(-DHAVE_CONFIG_H)
set(exp2python_SOURCES
src/classes_misc_python.c
@ -29,10 +29,10 @@ if(SC_PYTHON_GENERATOR)
../exp2cxx/trynext.cc
../exp2cxx/write.cc
../exp2cxx/print.cc
)
)
SC_ADDEXEC(exp2python "${exp2python_SOURCES}" "libexppp;express;base")
add_dependencies( exp2python version_string )
add_dependencies(exp2python version_string)
endif(SC_PYTHON_GENERATOR)
# Local Variables:

View file

@ -16,22 +16,22 @@ set(LIBEXPPP_SOURCES
pretty_subtype.c
pretty_type.c
pretty_where.c
)
)
SET(EXPPP_SOURCES
../express/fedex.c
exppp-main.c
)
)
include_directories(
${SC_SOURCE_DIR}/include
${SC_SOURCE_DIR}/include/exppp
${SC_SOURCE_DIR}/src/base
${SC_SOURCE_DIR}/src/express
)
)
if(BORLAND)
add_definitions( -D__STDC__ )
add_definitions(-D__STDC__)
endif()
SC_ADDLIB(libexppp "${LIBEXPPP_SOURCES}" "express;base")
@ -39,9 +39,9 @@ set_target_properties(libexppp PROPERTIES PREFIX "")
SC_ADDEXEC(exppp "${EXPPP_SOURCES}" "libexppp;express;base")
if( SC_ENABLE_TESTING )
if(SC_ENABLE_TESTING)
add_subdirectory(test)
endif( SC_ENABLE_TESTING )
endif(SC_ENABLE_TESTING)
# Local Variables:
# tab-width: 8

View file

@ -2,7 +2,7 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${SC_SOURCE_DIR}/src/base
)
)
# Set up the information we need to feed the generated source management
# scripts
@ -15,7 +15,7 @@ set(BUILD_OUTPUT_FILELIST
${CMAKE_CURRENT_BINARY_DIR}/expscan.h
${CMAKE_CURRENT_BINARY_DIR}/expparse.c
${CMAKE_CURRENT_BINARY_DIR}/expparse.h
)
)
set(CACHED_FILES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/generated")
string(REPLACE "${CMAKE_CURRENT_BINARY_DIR}" "${CACHED_FILES_DIR}" CACHED_FILELIST "${BUILD_OUTPUT_FILELIST}")
set(SYNC_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.cmake")
@ -30,7 +30,7 @@ if(SC_GENERATE_LP_SOURCES)
set(EXPRESS_GENERATED_SRCS
${LEMON_ExpParser_OUTPUT_SOURCE}
${PERPLEX_ExpScanner_OUTPUTS}
)
)
configure_file(${SC_SOURCE_DIR}/cmake/manage_generated.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.cmake @ONLY)
add_custom_command(
@ -38,7 +38,7 @@ if(SC_GENERATE_LP_SOURCES)
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.cmake
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.sentinel
DEPENDS ${INPUT_FILELIST} ${TEMPLATE_FILELIST} ${CACHED_FILELIST} ${PERPLEX_ExpScanner_OUTPUTS} ${LEMON_ExpParser_OUTPUT_SOURCE} generated/verification_info.cmake ${PROJECT_CMAKE_DIR}/Generated_Source_Utils.cmake
)
)
add_custom_target(express_verify DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.sentinel)
configure_file(${SC_SOURCE_DIR}/cmake/sync_generated.cmake.in
@ -48,7 +48,7 @@ if(SC_GENERATE_LP_SOURCES)
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.cmake
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.sentinel
DEPENDS ${INPUT_FILELIST} ${TEMPLATE_FILELIST} ${PERPLEX_ExpScanner_OUTPUTS} ${LEMON_ExpParser_OUTPUT_SOURCE} ${PROJECT_CMAKE_DIR}/Generated_Source_Utils.cmake
)
)
add_custom_target(express_sync_generated_files DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.sentinel)
else(SC_GENERATE_LP_SOURCES)
@ -56,7 +56,7 @@ else(SC_GENERATE_LP_SOURCES)
set(EXPRESS_GENERATED_SRCS
generated/expparse.c
generated/expscan.c
)
)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/generated)
configure_file(${SC_SOURCE_DIR}/cmake/verify_generated.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.cmake @ONLY)
@ -65,7 +65,7 @@ else(SC_GENERATE_LP_SOURCES)
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.cmake
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.sentinel
DEPENDS ${INPUT_FILELIST} ${CACHED_FILELIST} generated/verification_info.cmake ${PROJECT_CMAKE_DIR}/Generated_Source_Utils.cmake
)
)
add_custom_target(express_verify DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.sentinel)
endif(SC_GENERATE_LP_SOURCES)
@ -94,7 +94,7 @@ set(EXPRESS_SOURCES
ordered_attrs.cc
info.c
exp_kw.c
)
)
# TODO
# Currently, fedex.c provides the main() for multiple programs. These programs
@ -105,23 +105,23 @@ set(EXPRESS_SOURCES
# fedex.c's main() into an express library function. That way, programs only
# need to link against express (not fedex.o too) and they can do initialization
# in their own main (instead of in a local EXPRESSinit_init definition).
SET(CHECK_EXPRESS_SOURCES
set(CHECK_EXPRESS_SOURCES
fedex.c
inithook.c
)
)
SET(EXPRESS_PRIVATE_HDRS
set(EXPRESS_PRIVATE_HDRS
stack.h
)
)
SC_ADDLIB(express "${EXPRESS_SOURCES}" "base")
add_dependencies(express express_verify)
add_dependencies(express version_string)
SC_ADDEXEC("check-express" "${CHECK_EXPRESS_SOURCES}" "express;base" )
SC_ADDEXEC("check-express" "${CHECK_EXPRESS_SOURCES}" "express;base")
if( SC_ENABLE_TESTING )
if(SC_ENABLE_TESTING)
add_subdirectory(test)
endif( SC_ENABLE_TESTING )
endif(SC_ENABLE_TESTING)
# Local Variables:
# tab-width: 8

View file

@ -1,7 +1,7 @@
include_directories(..)
sc_addexec( print_schemas "../fedex.c;print_schemas.c" "express;base" )
sc_addexec( print_attrs "../fedex.c;print_attrs.c" "express;base" )
sc_addexec(print_schemas "../fedex.c;print_schemas.c" "express;base")
sc_addexec(print_attrs "../fedex.c;print_attrs.c" "express;base")
# Local Variables:
# tab-width: 8

View file

@ -1,17 +1,17 @@
#
# Adding unittest for unitary schemas
#
FILE(GLOB UNITARY_SCHEMAS "${CMAKE_CURRENT_SOURCE_DIR}/unitary_schemas/*.exp")
FOREACH(UNITARY_SCHEMA ${UNITARY_SCHEMAS})
GET_FILENAME_COMPONENT(SCHEMA_NAME ${UNITARY_SCHEMA} NAME_WE)
SET(TEST_NAME test_unit_${SCHEMA_NAME})
ADD_TEST(${TEST_NAME} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/check-express ${UNITARY_SCHEMA})
file(GLOB UNITARY_SCHEMAS "${CMAKE_CURRENT_SOURCE_DIR}/unitary_schemas/*.exp")
foreach(UNITARY_SCHEMA ${UNITARY_SCHEMAS})
get_filename_component(SCHEMA_NAME ${UNITARY_SCHEMA} NAME_WE)
set(TEST_NAME test_unit_${SCHEMA_NAME})
add_test(${TEST_NAME} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/check-express ${UNITARY_SCHEMA})
set_tests_properties( ${TEST_NAME} PROPERTIES LABELS unitary_schemas )
#if the file name begins with fail_, then testing it should result in an error.
if( UNITARY_SCHEMA MATCHES "fail_.*" )
set_tests_properties( ${TEST_NAME} PROPERTIES WILL_FAIL true )
endif( UNITARY_SCHEMA MATCHES "fail_.*" )
ENDFOREACH(UNITARY_SCHEMA ${UNITARY_SCHEMAS})
endforeach(UNITARY_SCHEMA ${UNITARY_SCHEMAS})
add_subdirectory(p21)
add_subdirectory(cpp)

View file

@ -1,14 +1,14 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
cmake_minimum_required(VERSION 2.8)
#c++ tests that depend on a particular schema
INCLUDE_DIRECTORIES( ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor ${SC_SOURCE_DIR}/src/clutils
include_directories( ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor ${SC_SOURCE_DIR}/src/clutils
${SC_SOURCE_DIR}/src/clstepcore ${SC_SOURCE_DIR}/src/base )
# ${name} is used for the C++ file name (${name}.cc), and as the suffix for the target and test names
# ${sdai_lib} is the name of the schema lib that is used
# ${exe_args} are additional args for the test executable
# two optional args: ARGV3, ARGV4 are compile flags and libs, respectively.
FUNCTION( add_schema_dependent_test name sdai_lib exe_args )
function( add_schema_dependent_test name sdai_lib exe_args )
# need the path to the lib sources for -I
get_target_property( sdai_srcs sdai_${sdai_lib} SOURCES )
list(GET sdai_srcs 0 fullpath )
@ -32,14 +32,14 @@ FUNCTION( add_schema_dependent_test name sdai_lib exe_args )
COMMAND $<TARGET_FILE:tst_${name}> ${exe_args} )
set_tests_properties( test_${name} PROPERTIES DEPENDS build_cpp_${name}
LABELS cpp_schema_specific )
ENDFUNCTION( add_schema_dependent_test name sdai_lib exe_args )
endfunction( add_schema_dependent_test name sdai_lib exe_args )
#if you need a schema that won't be built automatically (i.e. not in sc/data), put it in here
#temporarily disabling testing ensures that the schema will be built before these tests run
SET(SC_ENABLE_TESTING OFF)
set(SC_ENABLE_TESTING OFF)
BUILD_A_SCHEMA( ${SC_SOURCE_DIR}/test/unitary_schemas/array_bounds_expr.exp )
BUILD_A_SCHEMA( ${SC_SOURCE_DIR}/test/unitary_schemas/inverse_attr.exp )
SET(SC_ENABLE_TESTING ON)
set(SC_ENABLE_TESTING ON)
add_schema_dependent_test( "aggregate_bound_runtime" "array_bounds_expr"
"${SC_SOURCE_DIR}/test/p21/test_array_bounds.p21"

View file

@ -2,124 +2,124 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
#test part 21 files
#used to create a number of small files at test-time. you probably don't want to modify.
set( P21_FILE_HEAD "
set(P21_FILE_HEAD "
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''),'2;1');
FILE_NAME('', '', (''), (''), '', '', '');
FILE_SCHEMA(('")
set( P21_FILE_MID "'));
set(P21_FILE_MID "'));
ENDSEC;
DATA;
")
set( P21_FILE_TAIL "
set(P21_FILE_TAIL "
ENDSEC;
END-ISO-10303-21;
" )
")
# used in INSTANCE_TEST
set( SI_TEST_COUNTER 0 )
set(SI_TEST_COUNTER 0)
#MACRO INSTANCE_TEST - create a file with one or more instances and test with p21read
#sname is the schema name
#instance is a p21 instance, without the number
#test_mode is PASS or FAIL - whether the test should pass or fail. affects the WILL_FAIL property
MACRO( INSTANCE_TEST sname test_mode instance )
if( ${test_mode} STREQUAL "PASS" )
set( _fail "FALSE" )
elseif( ${test_mode} STREQUAL "FAIL" )
set( _fail "TRUE" )
else( )
message( FATAL_ERROR "** Invalid test_mode passed to INSTANCE_TEST macro: ${test_mode} **" )
endif( ${test_mode} STREQUAL "PASS" )
math( EXPR SI_TEST_COUNTER "${SI_TEST_COUNTER}+1" )
set( test_file "${CMAKE_CURRENT_BINARY_DIR}/${sname}_${SI_TEST_COUNTER}.stp" )
file( WRITE ${test_file} "${P21_FILE_HEAD}${sname}${P21_FILE_MID}
macro(INSTANCE_TEST sname test_mode instance)
if(${test_mode} STREQUAL "PASS")
set(_fail "FALSE")
elseif(${test_mode} STREQUAL "FAIL")
set(_fail "TRUE")
else()
message(FATAL_ERROR "** Invalid test_mode passed to INSTANCE_TEST macro: ${test_mode} **")
endif(${test_mode} STREQUAL "PASS")
math(EXPR SI_TEST_COUNTER "${SI_TEST_COUNTER}+1")
set(test_file "${CMAKE_CURRENT_BINARY_DIR}/${sname}_${SI_TEST_COUNTER}.stp")
file(WRITE ${test_file} "${P21_FILE_HEAD}${sname}${P21_FILE_MID}
#${SI_TEST_COUNTER}=${instance} /* should ${test_mode} */
${P21_FILE_TAIL}" )
add_test( test_${sname}_${SI_TEST_COUNTER} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_${sname} ${test_file} )
set_tests_properties( test_${sname}_${SI_TEST_COUNTER} PROPERTIES DEPENDS build_cpp_sdai_${sname} LABELS exchange_file WILL_FAIL ${_fail} )
ENDMACRO( INSTANCE_TEST sname test_mode instance )
${P21_FILE_TAIL}")
add_test(test_${sname}_${SI_TEST_COUNTER} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_${sname} ${test_file})
set_tests_properties(test_${sname}_${SI_TEST_COUNTER} PROPERTIES DEPENDS build_cpp_sdai_${sname} LABELS exchange_file WILL_FAIL ${_fail})
endmacro(INSTANCE_TEST sname test_mode instance)
# test schema names
set( sn_insts "
set(sn_insts "
#1=DRAUGHTING_PRE_DEFINED_COLOUR('green');
#2=COLOUR_RGB('',1.1E-2,1.2E-2,1.E0);
")
set( schema_name_good "AUTOMOTIVE_DESIGN" )
set( schema_name_good_asn "AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }" )
set( schema_name_mismatch "DOES_NOT_MATCH" )
set( p21read_ap214 "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_AP214E3_2010" )
file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21 "${P21_FILE_HEAD}${schema_name_good}${P21_FILE_MID}
${sn_insts}${P21_FILE_TAIL}" )
file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21 "${P21_FILE_HEAD}${schema_name_good_asn}${P21_FILE_MID}
${sn_insts}${P21_FILE_TAIL}" )
file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 "${P21_FILE_HEAD}${schema_name_mismatch}${P21_FILE_MID}
${sn_insts}${P21_FILE_TAIL}" )
set(schema_name_good "AUTOMOTIVE_DESIGN")
set(schema_name_good_asn "AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }")
set(schema_name_mismatch "DOES_NOT_MATCH")
set(p21read_ap214 "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_AP214E3_2010")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21 "${P21_FILE_HEAD}${schema_name_good}${P21_FILE_MID}
${sn_insts}${P21_FILE_TAIL}")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21 "${P21_FILE_HEAD}${schema_name_good_asn}${P21_FILE_MID}
${sn_insts}${P21_FILE_TAIL}")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 "${P21_FILE_HEAD}${schema_name_mismatch}${P21_FILE_MID}
${sn_insts}${P21_FILE_TAIL}")
#compare the schema name in a p21 file with than in the sdai lib
add_test( test_good_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21 )
add_test( test_good_schema_name_asn ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21 )
add_test( test_mismatch_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 )
add_test( test_ignore_schema_name ${p21read_ap214} -i ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 )
add_test(test_good_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21)
add_test(test_good_schema_name_asn ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21)
add_test(test_mismatch_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21)
add_test(test_ignore_schema_name ${p21read_ap214} -i ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21)
#these test for required attrs that are missing
add_test( test_missing_and_required ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21 )
add_test( test_missing_and_required_strict ${p21read_ap214} -s ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21 )
add_test(test_missing_and_required ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21)
add_test(test_missing_and_required_strict ${p21read_ap214} -s ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21)
#test acceptance of comments within p21 entity, i.e. FILE_NAME( /* name */ 'ferrari sharknose', ...);
add_test( test_p21_entity_internal_comment ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/comments.p21 )
#test acceptance of comments within p21 entity, i.e. FILE_NAME(/* name */ 'ferrari sharknose', ...);
add_test(test_p21_entity_internal_comment ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/comments.p21)
set_tests_properties( test_good_schema_name test_good_schema_name_asn test_mismatch_schema_name
set_tests_properties(test_good_schema_name test_good_schema_name_asn test_mismatch_schema_name
test_ignore_schema_name test_missing_and_required test_missing_and_required_strict test_p21_entity_internal_comment
PROPERTIES DEPENDS build_cpp_sdai_AP214E3_2010 LABELS exchange_file )
PROPERTIES DEPENDS build_cpp_sdai_AP214E3_2010 LABELS exchange_file)
set_tests_properties( test_mismatch_schema_name test_missing_and_required_strict PROPERTIES WILL_FAIL TRUE )
set_tests_properties(test_mismatch_schema_name test_missing_and_required_strict PROPERTIES WILL_FAIL TRUE)
#not sure how multiple schema names should be handled for testing, by p21read, or by the schema and stepeditor libs
#add_test( multi_schema )
#add_test(multi_schema)
#rotator_asm:
# FILE_SCHEMA(('CONFIG_CONTROL_DESIGN', 'GEOMETRIC_VALIDATION_PROPERTIES_MIM','SHAPE_APPEARANCE_LAYER_MIM'));
#check for a segmentation fault with selects. the files are a subset of the 210e3 schema and of SurfaceMountFlasher.stp, respectively
#p21read will report errors with the file, but they don't matter as long as there isn't a segfault.
BUILD_A_SCHEMA(${SC_SOURCE_DIR}/test/misc/select_segfault_210e3.exp)
add_test( test_select_segfault ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_select_segfault_210e3
${CMAKE_CURRENT_SOURCE_DIR}/select_segfault_210e3.stp )
set_tests_properties( test_select_segfault PROPERTIES DEPENDS build_cpp_sdai_select_segfault_210e3 LABELS exchange_file WILL_FAIL TRUE )
add_test(test_select_segfault ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_select_segfault_210e3
${CMAKE_CURRENT_SOURCE_DIR}/select_segfault_210e3.stp)
set_tests_properties(test_select_segfault PROPERTIES DEPENDS build_cpp_sdai_select_segfault_210e3 LABELS exchange_file WILL_FAIL TRUE)
set( mid "multiple_inheritance_derived" )
set(mid "multiple_inheritance_derived")
#schema for multiple inheritance where two attrs with same name are inherited; one is derived
BUILD_A_SCHEMA(${SC_SOURCE_DIR}/test/unitary_schemas/${mid}.exp)
INSTANCE_TEST( ${mid} PASS "A();" )
INSTANCE_TEST( ${mid} FAIL "A(*);" )
INSTANCE_TEST( ${mid} PASS "B(.BEE.);" )
INSTANCE_TEST( ${mid} FAIL "B();" )
INSTANCE_TEST( ${mid} PASS "AB(.BEE.);" )
INSTANCE_TEST( ${mid} FAIL "AB(*);" )
INSTANCE_TEST( ${mid} PASS "BA(.B.);" )
INSTANCE_TEST( ${mid} FAIL "BA(*);" )
INSTANCE_TEST( ${mid} PASS "AC();" )
INSTANCE_TEST( ${mid} FAIL "AC(3.0);" )
INSTANCE_TEST( ${mid} FAIL "AC('ac');" )
INSTANCE_TEST( ${mid} PASS "DD(*);" )
INSTANCE_TEST( ${mid} FAIL "DD();" )
INSTANCE_TEST( ${mid} FAIL "DD(3);" )
INSTANCE_TEST( ${mid} PASS "AA(4);" )
INSTANCE_TEST( ${mid} FAIL "AA();" )
INSTANCE_TEST( ${mid} PASS "BB(.BEE.,4.5);" )
INSTANCE_TEST( ${mid} FAIL "BB(4.5);" )
INSTANCE_TEST( ${mid} PASS "(A()B(.BEE.)AA(4)BB(4.5)AABB());" )
INSTANCE_TEST( ${mid} FAIL "(A(*)B(.BEE.)AA(4)BB(4.5)AABB());" )
INSTANCE_TEST( ${mid} FAIL "AABB(.BEE.,4,4.5);" )
INSTANCE_TEST( ${mid} FAIL "AABB(4,4.5);" )
INSTANCE_TEST( ${mid} FAIL "AABB();" )
INSTANCE_TEST( ${mid} FAIL "AABB('z',2,.B.,1.2);" )
INSTANCE_TEST(${mid} PASS "A();" )
INSTANCE_TEST(${mid} FAIL "A(*);" )
INSTANCE_TEST(${mid} PASS "B(.BEE.);" )
INSTANCE_TEST(${mid} FAIL "B();" )
INSTANCE_TEST(${mid} PASS "AB(.BEE.);" )
INSTANCE_TEST(${mid} FAIL "AB(*);" )
INSTANCE_TEST(${mid} PASS "BA(.B.);" )
INSTANCE_TEST(${mid} FAIL "BA(*);" )
INSTANCE_TEST(${mid} PASS "AC();" )
INSTANCE_TEST(${mid} FAIL "AC(3.0);" )
INSTANCE_TEST(${mid} FAIL "AC('ac');" )
INSTANCE_TEST(${mid} PASS "DD(*);" )
INSTANCE_TEST(${mid} FAIL "DD();" )
INSTANCE_TEST(${mid} FAIL "DD(3);" )
INSTANCE_TEST(${mid} PASS "AA(4);" )
INSTANCE_TEST(${mid} FAIL "AA();" )
INSTANCE_TEST(${mid} PASS "BB(.BEE.,4.5);" )
INSTANCE_TEST(${mid} FAIL "BB(4.5);" )
INSTANCE_TEST(${mid} PASS "(A()B(.BEE.)AA(4)BB(4.5)AABB());" )
INSTANCE_TEST(${mid} FAIL "(A(*)B(.BEE.)AA(4)BB(4.5)AABB());")
INSTANCE_TEST(${mid} FAIL "AABB(.BEE.,4,4.5);" )
INSTANCE_TEST(${mid} FAIL "AABB(4,4.5);" )
INSTANCE_TEST(${mid} FAIL "AABB();" )
INSTANCE_TEST(${mid} FAIL "AABB('z',2,.B.,1.2);" )
#p21read reports no errors on this one; I'm not certain whether that is right or wrong.
#INSTANCE_TEST( ${mid} FAIL "AABB(4,.BEE.,4.5);" )
#INSTANCE_TEST(${mid} FAIL "AABB(4,.BEE.,4.5);" )
# Local Variables:
# tab-width: 8