Browse Source

build script updates

Roberto Parolin 6 years ago
parent
commit
4fdb2e807f
5 changed files with 78 additions and 0 deletions
  1. 3 0
      .gitignore
  2. 3 0
      .gitmodules
  3. 12 0
      CMakeLists.txt
  4. 59 0
      test/CMakeLists.txt
  5. 1 0
      test/packages/EABase

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+tags
+/build/
+build.bat

+ 3 - 0
.gitmodules

@@ -13,3 +13,6 @@
 [submodule "test/packages/EASTL"]
 	path = test/packages/EASTL
 	url = [email protected]:electronicarts/EASTL.git
+[submodule "test/packages/EABase"]
+	path = test/packages/EABase
+	url = [email protected]:electronicarts/EABase.git

+ 12 - 0
CMakeLists.txt

@@ -4,12 +4,24 @@
 cmake_minimum_required(VERSION 3.1)
 project(EAMain CXX)
 
+#-------------------------------------------------------------------------------------------
+# Options
+#-------------------------------------------------------------------------------------------
+option(EAMAIN_BUILD_TESTS "Enable generation of build files for tests" OFF)
+
 #-------------------------------------------------------------------------------------------
 # Library definition
 #-------------------------------------------------------------------------------------------
 file(GLOB EAMAIN_SOURCES "source/*.cpp" "source/internal/*.cpp")
 add_library(EAMain ${EAMAIN_SOURCES})
 
+#-------------------------------------------------------------------------------------------
+# Package Tests
+#-------------------------------------------------------------------------------------------
+if(EAMAIN_BUILD_TESTS)
+    add_subdirectory(test)
+endif()
+
 #-------------------------------------------------------------------------------------------
 # Defines
 #-------------------------------------------------------------------------------------------

+ 59 - 0
test/CMakeLists.txt

@@ -0,0 +1,59 @@
+#-------------------------------------------------------------------------------------------
+# Copyright (C) Electronic Arts Inc.  All rights reserved.
+#-------------------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------------------
+# CMake info
+#-------------------------------------------------------------------------------------------
+cmake_minimum_required(VERSION 3.1)
+project(EAMainTest CXX)
+include(CTest)
+
+#-------------------------------------------------------------------------------------------
+# Defines
+#-------------------------------------------------------------------------------------------
+add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+add_definitions(-D_SCL_SECURE_NO_WARNINGS)
+add_definitions(-D_CHAR16T)
+
+#-------------------------------------------------------------------------------------------
+# Compiler Flags
+#-------------------------------------------------------------------------------------------
+set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/../../EASTL/scripts/CMake")
+include(CommonCppFlags)
+
+#-------------------------------------------------------------------------------------------
+# Source files
+#-------------------------------------------------------------------------------------------
+file(GLOB EAMAINTEST_SOURCES "source/Main/Main.cpp")
+set(SOURCES ${EAMAINTEST_SOURCES})
+
+#-------------------------------------------------------------------------------------------
+# Executable definition
+#-------------------------------------------------------------------------------------------
+add_executable(EAMainTest ${SOURCES})
+
+#-------------------------------------------------------------------------------------------
+# Dependencies 
+#-------------------------------------------------------------------------------------------
+add_subdirectory(packages/EAAssert)
+add_subdirectory(packages/EABase)
+add_subdirectory(packages/EASTL)
+add_subdirectory(packages/EAStdC)
+add_subdirectory(packages/EATest)
+add_subdirectory(packages/EAThread)
+
+target_link_libraries(EAMainTest EABase)
+target_link_libraries(EAMainTest EAAssert)
+target_link_libraries(EAMainTest EAMain)
+target_link_libraries(EAMainTest EASTL)
+target_link_libraries(EAMainTest EAStdC)
+target_link_libraries(EAMainTest EATest)
+target_link_libraries(EAMainTest EAThread)
+
+#-------------------------------------------------------------------------------------------
+# Run Unit tests and verify the results.
+#-------------------------------------------------------------------------------------------
+add_test(EAMainTestRuns EAMainTest)
+set_tests_properties (EAMainTestRuns PROPERTIES PASS_REGULAR_EXPRESSION "RETURNCODE=0")
+

+ 1 - 0
test/packages/EABase

@@ -0,0 +1 @@
+Subproject commit 24900cce16ee32e0c48c17671fe2731498e31a0c