mirror of
https://github.com/LLVMParty/llvm-nanobind
synced 2026-06-21 13:43:38 +00:00
b44d8d2c3f
This configuration isn't used in CI, but takes ~10min to build locally
907 lines
25 KiB
CMake
Generated
907 lines
25 KiB
CMake
Generated
# This file is automatically generated from cmake.toml - DO NOT EDIT
|
|
# See https://github.com/build-cpp/cmkr for more information
|
|
|
|
cmake_minimum_required(VERSION 3.27)
|
|
|
|
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
|
|
message(FATAL_ERROR "In-tree builds are not supported. Run CMake from a separate directory: cmake -B build")
|
|
endif()
|
|
|
|
set(CMKR_ROOT_PROJECT OFF)
|
|
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|
set(CMKR_ROOT_PROJECT ON)
|
|
|
|
# Bootstrap cmkr and automatically regenerate CMakeLists.txt
|
|
include("cmake/cmkr.cmake" OPTIONAL RESULT_VARIABLE CMKR_INCLUDE_RESULT)
|
|
if(CMKR_INCLUDE_RESULT)
|
|
cmkr()
|
|
endif()
|
|
|
|
# Enable folder support
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
|
# Create a configure-time dependency on cmake.toml to improve IDE support
|
|
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS cmake.toml)
|
|
endif()
|
|
|
|
# Variables
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
|
|
|
project(llvm-nanobind)
|
|
|
|
# Packages
|
|
find_package(Python 3.12 REQUIRED
|
|
COMPONENTS
|
|
Interpreter
|
|
Development.Module
|
|
Development.SABIModule
|
|
)
|
|
|
|
find_package(nanobind-wrapper REQUIRED)
|
|
|
|
find_package(LLVM-Wrapper REQUIRED)
|
|
|
|
# Target: llvm
|
|
set(llvm_SOURCES
|
|
cmake.toml
|
|
"src/llvm-nanobind.cpp"
|
|
)
|
|
|
|
nanobind_add_typed_module(llvm ${llvm_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${llvm_SOURCES})
|
|
|
|
target_compile_features(llvm PUBLIC
|
|
cxx_std_20
|
|
)
|
|
|
|
target_compile_options(llvm PUBLIC
|
|
"$<$<AND:$<CXX_COMPILER_ID:MSVC>,$<CONFIG:Release>>:/Od>"
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"llvm\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(llvm PUBLIC
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
# Target: llvm-c-test-vendored
|
|
set(llvm-c-test-vendored_SOURCES
|
|
cmake.toml
|
|
"llvm-c/llvm-c-test/attributes.c"
|
|
"llvm-c/llvm-c-test/calc.c"
|
|
"llvm-c/llvm-c-test/debuginfo.c"
|
|
"llvm-c/llvm-c-test/diagnostic.c"
|
|
"llvm-c/llvm-c-test/disassemble.c"
|
|
"llvm-c/llvm-c-test/echo.cpp"
|
|
"llvm-c/llvm-c-test/helpers.c"
|
|
"llvm-c/llvm-c-test/include-all.c"
|
|
"llvm-c/llvm-c-test/llvm-c-test.h"
|
|
"llvm-c/llvm-c-test/main.c"
|
|
"llvm-c/llvm-c-test/metadata.c"
|
|
"llvm-c/llvm-c-test/module.c"
|
|
"llvm-c/llvm-c-test/object.c"
|
|
"llvm-c/llvm-c-test/targets.c"
|
|
)
|
|
|
|
add_executable(llvm-c-test-vendored)
|
|
|
|
target_sources(llvm-c-test-vendored PRIVATE ${llvm-c-test-vendored_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${llvm-c-test-vendored_SOURCES})
|
|
|
|
target_compile_features(llvm-c-test-vendored PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"llvm-c-test-vendored\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(llvm-c-test-vendored PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
if(NOT TARGET LLVM-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-Wrapper\" referenced by \"llvm-c-test-vendored\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(llvm-c-test-vendored PRIVATE
|
|
LLVM-Wrapper
|
|
)
|
|
|
|
set_target_properties(llvm-c-test-vendored PROPERTIES
|
|
OUTPUT_NAME
|
|
llvm-c-test
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT llvm-c-test-vendored)
|
|
endif()
|
|
|
|
# Target: test_context
|
|
set(test_context_SOURCES
|
|
cmake.toml
|
|
"tests/test_context.cpp"
|
|
)
|
|
|
|
add_executable(test_context)
|
|
|
|
target_sources(test_context PRIVATE ${test_context_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_context_SOURCES})
|
|
|
|
target_compile_features(test_context PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_context\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_context PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_context)
|
|
endif()
|
|
|
|
# Target: test_module
|
|
set(test_module_SOURCES
|
|
cmake.toml
|
|
"tests/test_module.cpp"
|
|
)
|
|
|
|
add_executable(test_module)
|
|
|
|
target_sources(test_module PRIVATE ${test_module_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_module_SOURCES})
|
|
|
|
target_compile_features(test_module PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_module\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_module PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_module)
|
|
endif()
|
|
|
|
# Target: test_types
|
|
set(test_types_SOURCES
|
|
cmake.toml
|
|
"tests/test_types.cpp"
|
|
)
|
|
|
|
add_executable(test_types)
|
|
|
|
target_sources(test_types PRIVATE ${test_types_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_types_SOURCES})
|
|
|
|
target_compile_features(test_types PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_types\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_types PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_types)
|
|
endif()
|
|
|
|
# Target: test_function
|
|
set(test_function_SOURCES
|
|
cmake.toml
|
|
"tests/test_function.cpp"
|
|
)
|
|
|
|
add_executable(test_function)
|
|
|
|
target_sources(test_function PRIVATE ${test_function_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_function_SOURCES})
|
|
|
|
target_compile_features(test_function PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_function\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_function PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_function)
|
|
endif()
|
|
|
|
# Target: test_basic_block
|
|
set(test_basic_block_SOURCES
|
|
cmake.toml
|
|
"tests/test_basic_block.cpp"
|
|
)
|
|
|
|
add_executable(test_basic_block)
|
|
|
|
target_sources(test_basic_block PRIVATE ${test_basic_block_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_basic_block_SOURCES})
|
|
|
|
target_compile_features(test_basic_block PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_basic_block\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_basic_block PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_basic_block)
|
|
endif()
|
|
|
|
# Target: test_builder_arithmetic
|
|
set(test_builder_arithmetic_SOURCES
|
|
cmake.toml
|
|
"tests/test_builder_arithmetic.cpp"
|
|
)
|
|
|
|
add_executable(test_builder_arithmetic)
|
|
|
|
target_sources(test_builder_arithmetic PRIVATE ${test_builder_arithmetic_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_builder_arithmetic_SOURCES})
|
|
|
|
target_compile_features(test_builder_arithmetic PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_builder_arithmetic\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_builder_arithmetic PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_builder_arithmetic)
|
|
endif()
|
|
|
|
# Target: test_builder_memory
|
|
set(test_builder_memory_SOURCES
|
|
cmake.toml
|
|
"tests/test_builder_memory.cpp"
|
|
)
|
|
|
|
add_executable(test_builder_memory)
|
|
|
|
target_sources(test_builder_memory PRIVATE ${test_builder_memory_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_builder_memory_SOURCES})
|
|
|
|
target_compile_features(test_builder_memory PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_builder_memory\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_builder_memory PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_builder_memory)
|
|
endif()
|
|
|
|
# Target: test_builder_control_flow
|
|
set(test_builder_control_flow_SOURCES
|
|
cmake.toml
|
|
"tests/test_builder_control_flow.cpp"
|
|
)
|
|
|
|
add_executable(test_builder_control_flow)
|
|
|
|
target_sources(test_builder_control_flow PRIVATE ${test_builder_control_flow_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_builder_control_flow_SOURCES})
|
|
|
|
target_compile_features(test_builder_control_flow PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_builder_control_flow\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_builder_control_flow PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_builder_control_flow)
|
|
endif()
|
|
|
|
# Target: test_builder_casts
|
|
set(test_builder_casts_SOURCES
|
|
cmake.toml
|
|
"tests/test_builder_casts.cpp"
|
|
)
|
|
|
|
add_executable(test_builder_casts)
|
|
|
|
target_sources(test_builder_casts PRIVATE ${test_builder_casts_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_builder_casts_SOURCES})
|
|
|
|
target_compile_features(test_builder_casts PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_builder_casts\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_builder_casts PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_builder_casts)
|
|
endif()
|
|
|
|
# Target: test_builder_cmp
|
|
set(test_builder_cmp_SOURCES
|
|
cmake.toml
|
|
"tests/test_builder_cmp.cpp"
|
|
)
|
|
|
|
add_executable(test_builder_cmp)
|
|
|
|
target_sources(test_builder_cmp PRIVATE ${test_builder_cmp_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_builder_cmp_SOURCES})
|
|
|
|
target_compile_features(test_builder_cmp PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_builder_cmp\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_builder_cmp PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_builder_cmp)
|
|
endif()
|
|
|
|
# Target: test_constants
|
|
set(test_constants_SOURCES
|
|
cmake.toml
|
|
"tests/test_constants.cpp"
|
|
)
|
|
|
|
add_executable(test_constants)
|
|
|
|
target_sources(test_constants PRIVATE ${test_constants_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_constants_SOURCES})
|
|
|
|
target_compile_features(test_constants PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_constants\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_constants PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_constants)
|
|
endif()
|
|
|
|
# Target: test_globals
|
|
set(test_globals_SOURCES
|
|
cmake.toml
|
|
"tests/test_globals.cpp"
|
|
)
|
|
|
|
add_executable(test_globals)
|
|
|
|
target_sources(test_globals PRIVATE ${test_globals_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_globals_SOURCES})
|
|
|
|
target_compile_features(test_globals PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_globals\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_globals PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_globals)
|
|
endif()
|
|
|
|
# Target: test_phi
|
|
set(test_phi_SOURCES
|
|
cmake.toml
|
|
"tests/test_phi.cpp"
|
|
)
|
|
|
|
add_executable(test_phi)
|
|
|
|
target_sources(test_phi PRIVATE ${test_phi_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_phi_SOURCES})
|
|
|
|
target_compile_features(test_phi PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_phi\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_phi PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_phi)
|
|
endif()
|
|
|
|
# Target: test_factorial
|
|
set(test_factorial_SOURCES
|
|
cmake.toml
|
|
"tests/test_factorial.cpp"
|
|
)
|
|
|
|
add_executable(test_factorial)
|
|
|
|
target_sources(test_factorial PRIVATE ${test_factorial_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_factorial_SOURCES})
|
|
|
|
target_compile_features(test_factorial PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_factorial\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_factorial PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_factorial)
|
|
endif()
|
|
|
|
# Target: test_struct
|
|
set(test_struct_SOURCES
|
|
cmake.toml
|
|
"tests/test_struct.cpp"
|
|
)
|
|
|
|
add_executable(test_struct)
|
|
|
|
target_sources(test_struct PRIVATE ${test_struct_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_struct_SOURCES})
|
|
|
|
target_compile_features(test_struct PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_struct\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_struct PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_struct)
|
|
endif()
|
|
|
|
# Target: test_predecessors
|
|
set(test_predecessors_SOURCES
|
|
cmake.toml
|
|
"tests/test_predecessors.cpp"
|
|
)
|
|
|
|
add_executable(test_predecessors)
|
|
|
|
target_sources(test_predecessors PRIVATE ${test_predecessors_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_predecessors_SOURCES})
|
|
|
|
target_compile_features(test_predecessors PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_predecessors\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_predecessors PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_predecessors)
|
|
endif()
|
|
|
|
# Target: test_target_codegen
|
|
set(test_target_codegen_SOURCES
|
|
cmake.toml
|
|
"tests/test_target_codegen.cpp"
|
|
)
|
|
|
|
add_executable(test_target_codegen)
|
|
|
|
target_sources(test_target_codegen PRIVATE ${test_target_codegen_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_target_codegen_SOURCES})
|
|
|
|
target_compile_features(test_target_codegen PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_target_codegen\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_target_codegen PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_target_codegen)
|
|
endif()
|
|
|
|
# Target: test_bitcode_linker
|
|
set(test_bitcode_linker_SOURCES
|
|
cmake.toml
|
|
"tests/test_bitcode_linker.cpp"
|
|
)
|
|
|
|
add_executable(test_bitcode_linker)
|
|
|
|
target_sources(test_bitcode_linker PRIVATE ${test_bitcode_linker_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_bitcode_linker_SOURCES})
|
|
|
|
target_compile_features(test_bitcode_linker PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_bitcode_linker\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_bitcode_linker PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_bitcode_linker)
|
|
endif()
|
|
|
|
# Target: test_passbuilder
|
|
set(test_passbuilder_SOURCES
|
|
cmake.toml
|
|
"tests/test_passbuilder.cpp"
|
|
)
|
|
|
|
add_executable(test_passbuilder)
|
|
|
|
target_sources(test_passbuilder PRIVATE ${test_passbuilder_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_passbuilder_SOURCES})
|
|
|
|
target_compile_features(test_passbuilder PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_passbuilder\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_passbuilder PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_passbuilder)
|
|
endif()
|
|
|
|
# Target: test_call_conv
|
|
set(test_call_conv_SOURCES
|
|
cmake.toml
|
|
"tests/test_call_conv.cpp"
|
|
)
|
|
|
|
add_executable(test_call_conv)
|
|
|
|
target_sources(test_call_conv PRIVATE ${test_call_conv_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_call_conv_SOURCES})
|
|
|
|
target_compile_features(test_call_conv PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_call_conv\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_call_conv PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_call_conv)
|
|
endif()
|
|
|
|
# Target: test_function_extended
|
|
set(test_function_extended_SOURCES
|
|
cmake.toml
|
|
"tests/test_function_extended.cpp"
|
|
)
|
|
|
|
add_executable(test_function_extended)
|
|
|
|
target_sources(test_function_extended PRIVATE ${test_function_extended_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_function_extended_SOURCES})
|
|
|
|
target_compile_features(test_function_extended PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_function_extended\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_function_extended PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_function_extended)
|
|
endif()
|
|
|
|
# Target: test_symbol_size_crash
|
|
set(test_symbol_size_crash_SOURCES
|
|
cmake.toml
|
|
"tests/regressions/test_symbol_size_crash.cpp"
|
|
)
|
|
|
|
add_executable(test_symbol_size_crash)
|
|
|
|
target_sources(test_symbol_size_crash PRIVATE ${test_symbol_size_crash_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_symbol_size_crash_SOURCES})
|
|
|
|
target_compile_features(test_symbol_size_crash PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-C-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-C-Wrapper\" referenced by \"test_symbol_size_crash\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(test_symbol_size_crash PRIVATE
|
|
LLVM-C-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT test_symbol_size_crash)
|
|
endif()
|
|
|
|
# Target: mba_sub
|
|
set(mba_sub_SOURCES
|
|
cmake.toml
|
|
"tools/obfuscation/mba_sub.cpp"
|
|
)
|
|
|
|
add_executable(mba_sub)
|
|
|
|
target_sources(mba_sub PRIVATE ${mba_sub_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${mba_sub_SOURCES})
|
|
|
|
target_compile_features(mba_sub PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-Wrapper\" referenced by \"mba_sub\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(mba_sub PRIVATE
|
|
LLVM-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT mba_sub)
|
|
endif()
|
|
|
|
# Target: bb_split
|
|
set(bb_split_SOURCES
|
|
cmake.toml
|
|
"tools/obfuscation/bb_split.cpp"
|
|
)
|
|
|
|
add_executable(bb_split)
|
|
|
|
target_sources(bb_split PRIVATE ${bb_split_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${bb_split_SOURCES})
|
|
|
|
target_compile_features(bb_split PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-Wrapper\" referenced by \"bb_split\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(bb_split PRIVATE
|
|
LLVM-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT bb_split)
|
|
endif()
|
|
|
|
# Target: indirect_branch
|
|
set(indirect_branch_SOURCES
|
|
cmake.toml
|
|
"tools/obfuscation/indirect_branch.cpp"
|
|
)
|
|
|
|
add_executable(indirect_branch)
|
|
|
|
target_sources(indirect_branch PRIVATE ${indirect_branch_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${indirect_branch_SOURCES})
|
|
|
|
target_compile_features(indirect_branch PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-Wrapper\" referenced by \"indirect_branch\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(indirect_branch PRIVATE
|
|
LLVM-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT indirect_branch)
|
|
endif()
|
|
|
|
# Target: control_flow_flatten
|
|
set(control_flow_flatten_SOURCES
|
|
cmake.toml
|
|
"tools/obfuscation/control_flow_flatten.cpp"
|
|
)
|
|
|
|
add_executable(control_flow_flatten)
|
|
|
|
target_sources(control_flow_flatten PRIVATE ${control_flow_flatten_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${control_flow_flatten_SOURCES})
|
|
|
|
target_compile_features(control_flow_flatten PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-Wrapper\" referenced by \"control_flow_flatten\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(control_flow_flatten PRIVATE
|
|
LLVM-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT control_flow_flatten)
|
|
endif()
|
|
|
|
# Target: indirect_branch_enc
|
|
set(indirect_branch_enc_SOURCES
|
|
cmake.toml
|
|
"tools/obfuscation/indirect_branch_enc.cpp"
|
|
)
|
|
|
|
add_executable(indirect_branch_enc)
|
|
|
|
target_sources(indirect_branch_enc PRIVATE ${indirect_branch_enc_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${indirect_branch_enc_SOURCES})
|
|
|
|
target_compile_features(indirect_branch_enc PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-Wrapper\" referenced by \"indirect_branch_enc\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(indirect_branch_enc PRIVATE
|
|
LLVM-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT indirect_branch_enc)
|
|
endif()
|
|
|
|
# Target: string_encrypt
|
|
set(string_encrypt_SOURCES
|
|
cmake.toml
|
|
"tools/obfuscation/string_encrypt.cpp"
|
|
)
|
|
|
|
add_executable(string_encrypt)
|
|
|
|
target_sources(string_encrypt PRIVATE ${string_encrypt_SOURCES})
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${string_encrypt_SOURCES})
|
|
|
|
target_compile_features(string_encrypt PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
if(NOT TARGET LLVM-Wrapper)
|
|
message(FATAL_ERROR "Target \"LLVM-Wrapper\" referenced by \"string_encrypt\" does not exist!")
|
|
endif()
|
|
|
|
target_link_libraries(string_encrypt PRIVATE
|
|
LLVM-Wrapper
|
|
)
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT string_encrypt)
|
|
endif()
|