2018-08-12 00:11:13 +00:00
|
|
|
cmake_minimum_required(VERSION 2.8.7)
|
2018-10-09 03:17:46 +00:00
|
|
|
#make_release_only()
|
2018-08-12 00:11:13 +00:00
|
|
|
|
2019-08-19 18:54:47 +00:00
|
|
|
project(asmjit CXX)
|
2018-08-12 00:11:13 +00:00
|
|
|
|
|
|
|
set(ASMJITNAME asmjit)
|
|
|
|
add_definitions(-DASMJIT_STATIC)
|
|
|
|
|
2019-08-19 18:54:47 +00:00
|
|
|
if(CMAKE_VERSION VERSION_LESS "3.1")
|
|
|
|
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "^(GNU|Clang|AppleClang)$")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
|
endif()
|
|
|
|
|
2018-08-12 00:11:13 +00:00
|
|
|
if(MSVC)
|
2019-08-19 18:54:47 +00:00
|
|
|
set(CMAKE_DEBUG_POSTFIX "d")
|
|
|
|
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
2018-08-12 00:11:13 +00:00
|
|
|
endif()
|
|
|
|
|
2018-08-18 10:37:33 +00:00
|
|
|
if(APPLE)
|
|
|
|
# Suppress stdlib.h:334:6: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
|
|
|
|
add_definitions(-Wno-nullability-completeness)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
2018-08-12 00:11:13 +00:00
|
|
|
set(ASMJIT_SRCS
|
2019-08-19 18:54:47 +00:00
|
|
|
asmjit/asmjit.h
|
|
|
|
|
|
|
|
asmjit/core.h
|
|
|
|
asmjit/core/build.h
|
|
|
|
asmjit/core/arch.cpp
|
|
|
|
asmjit/core/arch.h
|
|
|
|
asmjit/core/assembler.cpp
|
|
|
|
asmjit/core/assembler.h
|
|
|
|
asmjit/core/builder.cpp
|
|
|
|
asmjit/core/builder.h
|
|
|
|
asmjit/core/callconv.cpp
|
|
|
|
asmjit/core/callconv.h
|
|
|
|
asmjit/core/codebufferwriter_p.h
|
|
|
|
asmjit/core/codeholder.cpp
|
|
|
|
asmjit/core/codeholder.h
|
|
|
|
asmjit/core/compiler.cpp
|
|
|
|
asmjit/core/compiler.h
|
|
|
|
asmjit/core/constpool.cpp
|
|
|
|
asmjit/core/constpool.h
|
|
|
|
asmjit/core/cpuinfo.cpp
|
|
|
|
asmjit/core/cpuinfo.h
|
|
|
|
asmjit/core/datatypes.h
|
|
|
|
asmjit/core/emitter.cpp
|
|
|
|
asmjit/core/emitter.h
|
|
|
|
asmjit/core/features.h
|
|
|
|
asmjit/core/func.cpp
|
|
|
|
asmjit/core/func.h
|
|
|
|
asmjit/core/globals.cpp
|
|
|
|
asmjit/core/globals.h
|
|
|
|
asmjit/core/inst.cpp
|
|
|
|
asmjit/core/inst.h
|
|
|
|
asmjit/core/jitallocator.cpp
|
|
|
|
asmjit/core/jitallocator.h
|
|
|
|
asmjit/core/jitruntime.cpp
|
|
|
|
asmjit/core/jitruntime.h
|
|
|
|
asmjit/core/logging.cpp
|
|
|
|
asmjit/core/logging.h
|
|
|
|
asmjit/core/misc_p.h
|
|
|
|
asmjit/core/operand.cpp
|
|
|
|
asmjit/core/operand.h
|
|
|
|
asmjit/core/osutils.cpp
|
|
|
|
asmjit/core/osutils.h
|
|
|
|
asmjit/core/raassignment_p.h
|
|
|
|
asmjit/core/rabuilders_p.h
|
|
|
|
asmjit/core/radefs_p.h
|
|
|
|
asmjit/core/ralocal.cpp
|
|
|
|
asmjit/core/ralocal_p.h
|
|
|
|
asmjit/core/rapass.cpp
|
|
|
|
asmjit/core/rapass_p.h
|
|
|
|
asmjit/core/rastack.cpp
|
|
|
|
asmjit/core/rastack_p.h
|
|
|
|
asmjit/core/string.cpp
|
|
|
|
asmjit/core/string.h
|
|
|
|
asmjit/core/support.cpp
|
|
|
|
asmjit/core/support.h
|
|
|
|
asmjit/core/target.cpp
|
|
|
|
asmjit/core/target.h
|
|
|
|
asmjit/core/type.cpp
|
|
|
|
asmjit/core/type.h
|
|
|
|
asmjit/core/virtmem.cpp
|
|
|
|
asmjit/core/virtmem.h
|
|
|
|
asmjit/core/zone.cpp
|
|
|
|
asmjit/core/zone.h
|
|
|
|
asmjit/core/zonehash.cpp
|
|
|
|
asmjit/core/zonehash.h
|
|
|
|
asmjit/core/zonelist.cpp
|
|
|
|
asmjit/core/zonelist.h
|
|
|
|
asmjit/core/zonestack.cpp
|
|
|
|
asmjit/core/zonestack.h
|
|
|
|
asmjit/core/zonestring.h
|
|
|
|
asmjit/core/zonetree.cpp
|
|
|
|
asmjit/core/zonetree.h
|
|
|
|
asmjit/core/zonevector.cpp
|
|
|
|
asmjit/core/zonevector.h
|
|
|
|
|
|
|
|
asmjit/x86.h
|
|
|
|
asmjit/x86/x86assembler.cpp
|
|
|
|
asmjit/x86/x86assembler.h
|
|
|
|
asmjit/x86/x86builder.cpp
|
|
|
|
asmjit/x86/x86builder.h
|
|
|
|
asmjit/x86/x86callconv.cpp
|
|
|
|
asmjit/x86/x86callconv_p.h
|
|
|
|
asmjit/x86/x86compiler.cpp
|
|
|
|
asmjit/x86/x86compiler.h
|
|
|
|
asmjit/x86/x86emitter.h
|
|
|
|
asmjit/x86/x86features.cpp
|
|
|
|
asmjit/x86/x86features.h
|
|
|
|
asmjit/x86/x86globals.h
|
|
|
|
asmjit/x86/x86instapi.cpp
|
|
|
|
asmjit/x86/x86instapi_p.h
|
|
|
|
asmjit/x86/x86instdb.cpp
|
|
|
|
asmjit/x86/x86instdb.h
|
|
|
|
asmjit/x86/x86instdb_p.h
|
|
|
|
asmjit/x86/x86internal.cpp
|
|
|
|
asmjit/x86/x86internal_p.h
|
|
|
|
asmjit/x86/x86logging.cpp
|
|
|
|
asmjit/x86/x86logging_p.h
|
|
|
|
asmjit/x86/x86opcode_p.h
|
|
|
|
asmjit/x86/x86operand.cpp
|
|
|
|
asmjit/x86/x86operand.h
|
|
|
|
asmjit/x86/x86rapass.cpp
|
|
|
|
asmjit/x86/x86rapass_p.h
|
2018-08-12 00:11:13 +00:00
|
|
|
)
|
|
|
|
|
2019-08-19 18:54:47 +00:00
|
|
|
set(ASMJIT_PUBLIC_HDRS "")
|
|
|
|
foreach(_src_file ${ASMJIT_SRCS})
|
|
|
|
if ("${_src_file}" MATCHES "\\.h$" AND NOT "${_src_file}" MATCHES "_p\\.h$")
|
|
|
|
list(APPEND ASMJIT_PUBLIC_HDRS ${_src_file})
|
|
|
|
endif()
|
|
|
|
endforeach()
|
2018-08-12 00:11:13 +00:00
|
|
|
|
2019-08-19 18:54:47 +00:00
|
|
|
add_library(${ASMJITNAME} STATIC ${ASMJIT_SRCS})
|
2018-08-12 00:11:13 +00:00
|
|
|
set_target_properties(${ASMJITNAME} PROPERTIES OUTPUT_NAME asmjit)
|
|
|
|
|
2019-08-19 18:54:47 +00:00
|
|
|
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
|
|
|
|
install(TARGETS ${ASMJITNAME}
|
|
|
|
RUNTIME DESTINATION bin
|
|
|
|
ARCHIVE DESTINATION lib
|
|
|
|
LIBRARY DESTINATION lib)
|
2018-08-12 00:11:13 +00:00
|
|
|
endif()
|
2019-08-19 18:54:47 +00:00
|
|
|
if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
|
|
|
|
install(FILES ${ASMJIT_PUBLIC_HDRS} DESTINATION include)
|
2018-08-12 00:11:13 +00:00
|
|
|
endif()
|