ab82e3f62a
Angelscript is not separated project, but static library.
117 lines
3.9 KiB
CMake
117 lines
3.9 KiB
CMake
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
|
|
cmake_policy(SET CMP0003 NEW)
|
|
|
|
set(ANGELSCRIPT_SOURCE
|
|
../../source/as_atomic.cpp
|
|
../../source/as_builder.cpp
|
|
../../source/as_bytecode.cpp
|
|
../../source/as_callfunc.cpp
|
|
../../source/as_callfunc_x86.cpp
|
|
../../source/as_callfunc_x64_gcc.cpp
|
|
../../source/as_callfunc_x64_msvc.cpp
|
|
../../source/as_callfunc_x64_mingw.cpp
|
|
../../source/as_compiler.cpp
|
|
../../source/as_configgroup.cpp
|
|
../../source/as_context.cpp
|
|
../../source/as_datatype.cpp
|
|
../../source/as_gc.cpp
|
|
../../source/as_generic.cpp
|
|
../../source/as_globalproperty.cpp
|
|
../../source/as_memory.cpp
|
|
../../source/as_module.cpp
|
|
../../source/as_objecttype.cpp
|
|
../../source/as_outputbuffer.cpp
|
|
../../source/as_parser.cpp
|
|
../../source/as_restore.cpp
|
|
../../source/as_scriptcode.cpp
|
|
../../source/as_scriptengine.cpp
|
|
../../source/as_scriptfunction.cpp
|
|
../../source/as_scriptnode.cpp
|
|
../../source/as_scriptobject.cpp
|
|
../../source/as_string.cpp
|
|
../../source/as_string_util.cpp
|
|
../../source/as_thread.cpp
|
|
../../source/as_tokenizer.cpp
|
|
../../source/as_typeinfo.cpp
|
|
../../source/as_variablescope.cpp
|
|
)
|
|
|
|
if(MSVC AND CMAKE_CL_64)
|
|
enable_language(ASM_MASM)
|
|
if(CMAKE_ASM_MASM_COMPILER_WORKS)
|
|
set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} ../../source/as_callfunc_x64_msvc_asm.asm)
|
|
else()
|
|
message(FATAL ERROR "MSVC x86_64 target requires a working assembler")
|
|
endif()
|
|
endif()
|
|
|
|
if(ANDROID)
|
|
enable_language(ASM)
|
|
if(CMAKE_ASM_COMPILER_WORKS)
|
|
set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} ../../source/as_callfunc_arm.cpp ../../source/as_callfunc_arm_gcc.S)
|
|
else()
|
|
message(FATAL ERROR "Android target requires a working assembler")
|
|
endif(CMAKE_ASM_COMPILER_WORKS)
|
|
endif()
|
|
|
|
set(ANGELSCRIPT_HEADERS
|
|
../../include/angelscript.h
|
|
../../source/as_array.h
|
|
../../source/as_builder.h
|
|
../../source/as_bytecode.h
|
|
../../source/as_callfunc.h
|
|
../../source/as_compiler.h
|
|
../../source/as_config.h
|
|
../../source/as_configgroup.h
|
|
../../source/as_context.h
|
|
../../source/as_criticalsection.h
|
|
../../source/as_datatype.h
|
|
../../source/as_debug.h
|
|
../../source/as_generic.h
|
|
../../source/as_map.h
|
|
../../source/as_memory.h
|
|
../../source/as_module.h
|
|
../../source/as_objecttype.h
|
|
../../source/as_outputbuffer.h
|
|
../../source/as_parser.h
|
|
../../source/as_property.h
|
|
../../source/as_restore.h
|
|
../../source/as_scriptcode.h
|
|
../../source/as_scriptengine.h
|
|
../../source/as_scriptfunction.h
|
|
../../source/as_scriptnode.h
|
|
../../source/as_scriptobject.h
|
|
../../source/as_string.h
|
|
../../source/as_string_util.h
|
|
../../source/as_texts.h
|
|
../../source/as_thread.h
|
|
../../source/as_tokendef.h
|
|
../../source/as_tokenizer.h
|
|
../../source/as_typeinfo.h
|
|
../../source/as_variablescope.h
|
|
)
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../include)
|
|
|
|
add_definitions("-D_CRT_SECURE_NO_WARNINGS -DANGELSCRIPT_EXPORT -D_LIB")
|
|
|
|
# Fix x64 issues on Linux
|
|
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND NOT APPLE)
|
|
add_definitions(-fPIC)
|
|
endif()
|
|
|
|
add_library(angelscript STATIC ${ANGELSCRIPT_SOURCE} ${ANGELSCRIPT_HEADERS})
|
|
|
|
#set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../lib)
|
|
|
|
#find_package(Threads)
|
|
#target_link_libraries(Angelscript ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
#if(MSVC)
|
|
# set_target_properties(Angelscript PROPERTIES COMPILE_FLAGS "/MP")
|
|
#endif(MSVC)
|
|
|
|
#set(RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../../bin)
|
|
|
|
|