diff --git a/src/tools/tls_edit/CMakeLists.txt b/src/tools/tls_edit/CMakeLists.txt new file mode 100644 index 000000000..6a323674a --- /dev/null +++ b/src/tools/tls_edit/CMakeLists.txt @@ -0,0 +1,31 @@ +cmake_minimum_required(VERSION 3.12) + +project(tls_edit C CXX) + +set(REPO_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../..") + +list(APPEND CMAKE_MODULE_PATH "${REPO_DIR}/cmake") + +include(Yokai/Detection) +include(NaClFlags) + +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebInfo) +endif() + +include_directories("${REPO_DIR}/include-hax") +include_directories("${REPO_DIR}/include") + +set(RDFA_VALIDATOR ON) +add_subdirectory("${REPO_DIR}/src/trusted/validator_ragel" rdfa_validator) + +add_subdirectory("${REPO_DIR}/src/shared/platform" platform) +add_subdirectory("${REPO_DIR}/src/shared/gio" gio) + +set(EXECUTABLE_PREFIX "" CACHE STRING "Prefix for executable names") + +set(TLS_EDIT_NAME "${EXECUTABLE_PREFIX}tls_edit") + +add_executable("${TLS_EDIT_NAME}" tls_edit.c) +target_link_libraries("${TLS_EDIT_NAME}" rdfa_validator platform gio) +install(TARGETS "${TLS_EDIT_NAME}" DESTINATION bin) diff --git a/src/trusted/validator_ragel/CMakeLists.txt b/src/trusted/validator_ragel/CMakeLists.txt index 8507a0c8d..2270f2e21 100644 --- a/src/trusted/validator_ragel/CMakeLists.txt +++ b/src/trusted/validator_ragel/CMakeLists.txt @@ -1,14 +1,13 @@ add_definitions("-DVALIDATOR_EXPORT=DLLEXPORT") -# src/trusted/validator_ragel/build.scons built both for both bitness -# because it was needed for the rdfa_validator library which looks to -# only be used for running some benchmark. -if (YOKAI_TARGET_ARCH_I686) - set(VALIDATOR_LIB validator32) - add_library(${VALIDATOR_LIB} OBJECT "gen/validator_x86_32.c") -elseif (YOKAI_TARGET_ARCH_AMD64) - set(VALIDATOR_LIB validator64) - add_library(${VALIDATOR_LIB} OBJECT "gen/validator_x86_64.c") +# RDFA_VALIDATOR is set to ON when building tls_edit. + +if (YOKAI_TARGET_ARCH_I686 OR RDFA_VALIDATOR) + add_library(validator32 OBJECT "gen/validator_x86_32.c") + list(APPEND VALIDATOR_LIBS validator32) +elseif (YOKAI_TARGET_ARCH_AMD64 OR RDFA_VALIDATOR) + add_library(validator64 OBJECT "gen/validator_x86_64.c") + list(APPEND VALIDATOR_LIBS validator64) endif() add_library(validator_features_all OBJECT "validator_features_all.c") @@ -28,7 +27,12 @@ elseif (YOKAI_TARGET_ARCH_AMD64) ) endif() +if (RDFA_VALIDATOR) + add_library(rdfa_validator) + target_link_libraries(rdfa_validator ${FEATURES_LIBS} ${VALIDATOR_LIBS}) +endif() + add_library(dfa_validate_caller${VALIDATOR_ARCH_SUFFIX} STATIC ${DFA_VALIDATE_CALLER_INPUTS}) -target_link_libraries(dfa_validate_caller${VALIDATOR_ARCH_SUFFIX} ${FEATURES_LIBS} ${VALIDATOR_LIB}) +target_link_libraries(dfa_validate_caller${VALIDATOR_ARCH_SUFFIX} ${FEATURES_LIBS} ${VALIDATOR_LIBS}) add_library(dfa_validate_caller ALIAS dfa_validate_caller${VALIDATOR_ARCH_SUFFIX})