diff options
author | Adrian Thurston <thurston@colm.net> | 2019-09-08 21:11:17 -0600 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2019-09-08 21:11:17 -0600 |
commit | c860c61607117582abd8f23881eed87957197484 (patch) | |
tree | 4d4e65dddc710e15f008189a9308d95924350c3f /src/CMakeLists.txt | |
parent | f37c916aed2600951b8966a86020406b0b0542cf (diff) | |
download | colm-c860c61607117582abd8f23881eed87957197484.tar.gz |
moved the original colm src dir to /colm
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index b961f9af..00000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,175 +0,0 @@ -# Check type size -include(CheckTypeSize) -check_type_size("long" SIZEOF_LONG) -check_type_size("unsigned long" SIZEOF_UNSIGNED_LONG) -check_type_size("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG) -check_type_size("void *" SIZEOF_VOID_P) - -# Check system headers -include(CheckIncludeFile) -check_include_file(sys/mman.h HAVE_SYS_MMAN_H) -check_include_file(sys/wait.h HAVE_SYS_WAIT_H) -check_include_file(unistd.h HAVE_UNISTD_H) - -# Prepare settings -string(TOLOWER ${PROJECT_NAME} _PACKAGE_NAME) -if("${CMAKE_BUILD_TYPE}" MATCHES "[Dd][Ee][Bb]") - set(DEBUG 1) -endif() -set(VERSION "${PROJECT_VERSION}") -set(PUBDATE "${PROJECT_PUBDATE}") - -set(common_COMPILE_DEFINITIONS PREFIX="${CMAKE_INSTALL_PREFIX}") - -# Generate headers -configure_file(version.h.cmake.in version.h @ONLY) -configure_file(config.h.cmake.in config.h @ONLY) -configure_file(defs.h.cmake.in defs.h @ONLY) -configure_file(colm-config.cmake.in - "${PROJECT_BINARY_DIR}/${_PACKAGE_NAME}-config.cmake" @ONLY) - -# Runtime headers -set(RUNTIME_HDR - bytecode.h debug.h pool.h input.h - pdarun.h map.h type.h tree.h struct.h program.h colm.h internal.h) - -# Buildtime headers stub -foreach(_hdr ${RUNTIME_HDR} rtvector.h) - file(GENERATE - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/include/colm/${_hdr}" - CONTENT "#include \"${CMAKE_CURRENT_LIST_DIR}/${_hdr}\"\n") -endforeach() -foreach(_hdr config.h defs.h) - file(GENERATE - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/include/colm/${_hdr}" - CONTENT "#include \"../../${_hdr}\"\n") - list(APPEND RUNTIME_HDR "${CMAKE_CURRENT_BINARY_DIR}/${_hdr}") -endforeach() - -# Other CMake modules -include(GNUInstallDirs) - -# libcolm - -add_library(libcolm - map.c pdarun.c list.c input.c stream.c debug.c - codevect.c pool.c string.c tree.c iter.c - bytecode.c program.c struct.c commit.c - print.c) - -target_include_directories(libcolm - PUBLIC - $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> - $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include> - $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) - -set_target_properties(libcolm PROPERTIES - OUTPUT_NAME colm) - -# libprog - -add_library(libprog - buffer.h bytecode.h colm.h debug.h dotgen.h fsmcodegen.h fsmgraph.h - input.h keyops.h map.h compiler.h - parsetree.h pcheck.h pdacodegen.h pdagraph.h pdarun.h pool.h redbuild.h - redfsm.h rtvector.h tree.h global.h colm.h parser.h cstring.h - internal.h - resolve.cc lookup.cc synthesis.cc parsetree.cc - fsmstate.cc fsmbase.cc fsmattach.cc fsmmin.cc - fsmgraph.cc pdagraph.cc pdabuild.cc pdacodegen.cc fsmcodegen.cc - redfsm.cc fsmexec.cc redbuild.cc closure.cc fsmap.cc - dotgen.cc pcheck.cc ctinput.cc declare.cc codegen.cc - exports.cc compiler.cc parser.cc reduce.cc) - -target_include_directories(libprog - PUBLIC - $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}> - $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../aapl> - $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> - $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>) - -set_target_properties(libprog PROPERTIES - OUTPUT_NAME prog) - -# bootstrap0 - -add_executable(bootstrap0 - consinit.cc consinit.h main.cc) - -target_link_libraries(bootstrap0 libprog libcolm) - -set_property(TARGET bootstrap0 APPEND PROPERTY - COMPILE_DEFINITIONS CONS_INIT ${common_COMPILE_DEFINITIONS}) - -set_property(TARGET bootstrap0 APPEND PROPERTY - COMPILE_FLAGS -fpermissive) - -# bootstrap1 - -make_directory("${CMAKE_CURRENT_BINARY_DIR}/gen") - -add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/gen/parse1.c" - "${CMAKE_CURRENT_BINARY_DIR}/gen/if1.h" - "${CMAKE_CURRENT_BINARY_DIR}/gen/if1.cc" - COMMAND bootstrap0 - ARGS -c -o parse1.c -e if1.h -x if1.cc - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/gen") - -add_executable(bootstrap1 - loadinit.h loadinit.cc main.cc - "${CMAKE_CURRENT_BINARY_DIR}/gen/parse1.c" - "${CMAKE_CURRENT_BINARY_DIR}/gen/if1.cc") - -target_link_libraries(bootstrap1 libprog libcolm) - -set_property(TARGET bootstrap1 APPEND PROPERTY - COMPILE_DEFINITIONS LOAD_INIT ${common_COMPILE_DEFINITIONS}) - -# colm - -add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/gen/parse2.c" - "${CMAKE_CURRENT_BINARY_DIR}/gen/if2.h" - "${CMAKE_CURRENT_BINARY_DIR}/gen/if2.cc" - COMMAND bootstrap1 - ARGS -c -o parse2.c -e if2.h -x if2.cc "${CMAKE_CURRENT_LIST_DIR}/colm.lm" - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/gen") - -add_executable(colm - loadcolm.h loadcolm.cc main.cc - "${CMAKE_CURRENT_BINARY_DIR}/gen/parse2.c" - "${CMAKE_CURRENT_BINARY_DIR}/gen/if2.cc") - -target_link_libraries(colm libprog libcolm) - -set_property(TARGET colm APPEND PROPERTY - COMPILE_DEFINITIONS LOAD_COLM ${common_COMPILE_DEFINITIONS}) - -if(${PROJECT_NAME}_MAKE_INSTALL) - if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) - set(CMAKE_INSTALL_CMAKEDIR - "${CMAKE_INSTALL_LIBDIR}/cmake/${_PACKAGE_NAME}" - CACHE STRING "CMake packages") - endif() - install(FILES ${RUNTIME_HDR} - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/colm") - install(TARGETS libcolm colm - EXPORT ${_PACKAGE_NAME}-targets - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") - install(EXPORT ${_PACKAGE_NAME}-targets - NAMESPACE ${_PACKAGE_NAME}:: - DESTINATION "${CMAKE_INSTALL_CMAKEDIR}") - export(EXPORT ${_PACKAGE_NAME}-targets - NAMESPACE ${_PACKAGE_NAME}:: - FILE "${PROJECT_BINARY_DIR}/${_PACKAGE_NAME}-targets.cmake") - include(CMakePackageConfigHelpers) - write_basic_package_version_file( - "${PROJECT_BINARY_DIR}/${_PACKAGE_NAME}-config-version.cmake" - VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion) - install(FILES - "${PROJECT_BINARY_DIR}/${_PACKAGE_NAME}-config.cmake" - "${PROJECT_BINARY_DIR}/${_PACKAGE_NAME}-config-version.cmake" - DESTINATION "${CMAKE_INSTALL_CMAKEDIR}") -endif() |