axmol/tools/simulator/libsimulator/CMakeLists.txt

133 lines
5.9 KiB
CMake
Raw Normal View History

cmake support win32 ,and support generate&use prebuilt libs (#18683) * fix win32 prebuilt error, and set cmake as default android native build * cpp-template support msvc * add msvc version check * add -D_USRLUASTATIC, fix lua lib cmake compile error * fix cpp-empty-test res copy dir, add function needed * improve msvc res copy * refactor cmake copy dll logic * fix cpp-tests compile error * refactor copy dll temp * refactor win32 exe using dlls * js-project compile support cmake using msvc * improve res mark for win32 * update the way of lua project res mark * add D_USRLUASTATIC for lua project * unify RELEASE Release to Release, add CMAKE_CONFIGURATION_TYPES * improve VS shows targets, add folder * improve mac/ios res mark * reduce useless comments * unify cpp src include variable * refactor cpp test project package logic * improve pkg app logic * start support prebuilt libs for cpp project using cmake * improve prebuilt libs generate * expand js/lua support prebuilt libs on mac * adapt IDE generate libs path * start do prebuilt for android * improve the way of using external libs for prebuilt * prebuilt libs support cpp-empty-test on android studio * cpp-tests prebuilt libs, and remove useless * start to improve libs using, to adapt prebuilt * improve cpp tests prebuilt on android * prebuilt support lua & js test on android * prebuilt support cpp&js template * rename prebuilt variabl, detail androd config * finish android support prebuilt using cmake * fix cmake script run in windows error * reduce variable name length * improve the way of win32 use dlls to adapt prebuilt * loosen pick js/lua engine lib condition * self review and start check linux build * unify compile option location * strict copy dlls condition * improve libs link order * start redo the way of copy dlls * unify dlls copy logic * fix linux res copy error * update cmake copy file path in linux * make prebuilt dir if needed, and divide Debug and Release dir * cmake win32 divide Debug and Release dir well * comment Lua Template project, for the unfinished lua simulator support * add simulator cmake file * start support simulator * simulator support cmake build on macOS * fix simulator compile error on win32 * add simulator prebuilt support * improve mark cocos app macro * improve cmake template project format * improve cmake app files format * fix format improve mistake * detail cmake readme * improve readme, useless comments * add game.rc to template project * check travis openssl version * try update travis openssl * upgrade travis openssl * change openssl link * change to upgrade openssl * re install python with upgrade openssl * add comment for macro and func, improve variable name
2018-03-08 09:47:57 +08:00
#/****************************************************************************
# Copyright (c) 2014-2017 Chukong Technologies Inc.
#
# http://www.cocos2d-x.org
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# ****************************************************************************/
set(SIMULATOR_LIB_PATH ${COCOS2DX_ROOT_PATH}/tools/simulator/libsimulator/lib)
if(MACOSX)
# add define for mac os GLFW_EXPOSE_NATIVE_NSGL
add_definitions(-DGLFW_EXPOSE_NATIVE_NSGL)
elseif(WINDOWS)
add_definitions(-DUNICODE -D_UNICODE)
add_definitions(-D_USRLIBSIMSTATIC -DGLFW_EXPOSE_NATIVE_WIN32 -D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS)
include_directories(${SIMULATOR_LIB_PATH}/../proj.win32)
endif()
if(WIN32)
set(PLATFORM_SRC
${SIMULATOR_LIB_PATH}/../proj.win32/Runtime_win32.cpp
${SIMULATOR_LIB_PATH}/../proj.win32/stdafx.cpp
${SIMULATOR_LIB_PATH}/platform/win32/DeviceEx-win32.cpp
${SIMULATOR_LIB_PATH}/platform/win32/PlayerEditBoxServiceWin.cpp
${SIMULATOR_LIB_PATH}/platform/win32/PlayerFileDialogServiceWin.cpp
${SIMULATOR_LIB_PATH}/platform/win32/PlayerMenuServiceWin.cpp
${SIMULATOR_LIB_PATH}/platform/win32/PlayerMessageBoxServiceWin.cpp
${SIMULATOR_LIB_PATH}/platform/win32/PlayerTaskServiceWin.cpp
${SIMULATOR_LIB_PATH}/platform/win32/PlayerWin.cpp
# ${SIMULATOR_LIB_PATH}/platform/win32/SimulatorWin.cpp
)
elseif(MACOSX)
set(PLATFORM_SRC
${SIMULATOR_LIB_PATH}/platform/mac/DeviceEx-mac.mm
${SIMULATOR_LIB_PATH}/platform/mac/PlayerEditBoxServiceMac.mm
${SIMULATOR_LIB_PATH}/platform/mac/PlayerFileDialogServiceMac.mm
${SIMULATOR_LIB_PATH}/platform/mac/PlayerMac.mm
${SIMULATOR_LIB_PATH}/platform/mac/PlayerMenuServiceMac.mm
${SIMULATOR_LIB_PATH}/platform/mac/PlayerMessageBoxServiceMac.mm
${SIMULATOR_LIB_PATH}/platform/mac/PlayerTaskServiceMac.mm
${SIMULATOR_LIB_PATH}/platform/mac/Runtime_ios-mac.mm
${SIMULATOR_LIB_PATH}/platform/mac/openudid/OpenUDIDMac.m
)
endif()
set(PROTOBUF_SRC
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/extension_set.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/generated_message_util.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/io/coded_stream.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/io/zero_copy_stream.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/message_lite.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/repeated_field.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_gcc.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_msvc.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/stubs/common.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/stubs/once.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/stubs/stringprintf.cc
${SIMULATOR_LIB_PATH}/protobuf-lite/google/protobuf/wire_format_lite.cc
)
set(SIMELATOR_SRC
${SIMULATOR_LIB_PATH}/network/CCHTTPRequest.cpp
${SIMULATOR_LIB_PATH}/ProjectConfig/ProjectConfig.cpp
${SIMULATOR_LIB_PATH}/ProjectConfig/SimulatorConfig.cpp
${SIMULATOR_LIB_PATH}/AppEvent.cpp
${SIMULATOR_LIB_PATH}/AppLang.cpp
${SIMULATOR_LIB_PATH}/PlayerMenuServiceProtocol.cpp
${SIMULATOR_LIB_PATH}/PlayerProtocol.cpp
${SIMULATOR_LIB_PATH}/PlayerServiceProtocol.cpp
${SIMULATOR_LIB_PATH}/PlayerSettings.cpp
${SIMULATOR_LIB_PATH}/PlayerTaskServiceProtocol.cpp
${SIMULATOR_LIB_PATH}/PlayerUtils.cpp
${SIMULATOR_LIB_PATH}/runtime/ConfigParser.cpp
${SIMULATOR_LIB_PATH}/runtime/ConnectWaitLayer.cpp
${SIMULATOR_LIB_PATH}/runtime/ConsoleCommand.cpp
${SIMULATOR_LIB_PATH}/runtime/FileServer.cpp
${SIMULATOR_LIB_PATH}/runtime/Landscape_png.cpp
${SIMULATOR_LIB_PATH}/runtime/PlayDisable_png.cpp
${SIMULATOR_LIB_PATH}/runtime/PlayEnable_png.cpp
${SIMULATOR_LIB_PATH}/runtime/Portrait_png.cpp
${SIMULATOR_LIB_PATH}/runtime/Protos.pb.cc
${SIMULATOR_LIB_PATH}/runtime/Runtime.cpp
${SIMULATOR_LIB_PATH}/runtime/RuntimeCCSImpl.cpp
${SIMULATOR_LIB_PATH}/runtime/RuntimeProtocol.cpp
${SIMULATOR_LIB_PATH}/runtime/Shine_png.cpp
${SIMULATOR_LIB_PATH}/runtime/VisibleRect.cpp
${PROTOBUF_SRC}
${PLATFORM_SRC}
)
include_directories(
${SIMULATOR_LIB_PATH}
${SIMULATOR_LIB_PATH}/platform/${PLATFORM_FOLDER}
${SIMULATOR_LIB_PATH}/protobuf-lite
${SIMULATOR_LIB_PATH}/runtime
${COCOS2DX_ROOT_PATH}/cocos/editor-support
)
add_library(simulator STATIC
${SIMELATOR_SRC}
)
target_use_simulator_depend_libs(simulator)
set_target_properties(simulator
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
FOLDER "Internal"
)
if(XCODE OR VS)
cocos_mark_code_files("simulator")
endif()