Add the arm64 unix CI
[platform/upstream/coreclr.git] / tests / CMakeLists.txt
index 408e029..078d9b8 100644 (file)
@@ -1,17 +1,48 @@
 # Require at least version 2.8.12 of CMake
 cmake_minimum_required(VERSION 2.8.12)
 
+if (CMAKE_CONFIGURATION_TYPES) # multi-configuration generator?
+    set(CMAKE_CONFIGURATION_TYPES "Debug;Checked;Release;RelWithDebInfo" CACHE STRING "" FORCE)
+endif (CMAKE_CONFIGURATION_TYPES)
+set(CMAKE_C_FLAGS_CHECKED "")
+set(CMAKE_CXX_FLAGS_CHECKED "")
+set(CMAKE_EXE_LINKER_FLAGS_CHECKED "")
+set(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
+
+set(CLR_CMAKE_TARGET_ARCH ${CLR_CMAKE_HOST_ARCH})
+
 set(INC_PLATFORM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/Common/Platform)
 if (WIN32)
     add_definitions(-DWINDOWS=1)
+
+    if (DEFINED ENV{__ToolsetDir})
+        # Hack for private Tool Set
+        # CMAKE_CXX_COMPILER will default to the compiler installed with
+        # Visual studio. Overwrite it to the compiler on the path.
+
+        find_program(PATH_CXX_COMPILER cl)
+        set(CMAKE_CXX_COMPILER ${PATH_CXX_COMPILER})
+
+        message("Overwriting the CMAKE_CXX_COMPILER.")
+        message("CMAKE_CXX_COMPILER found:${CMAKE_CXX_COMPILER}")
+      
+        # Temporary until cmake has VS generators for hacky toolsets [arm64]
+        set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /machine:${CLR_CMAKE_TARGET_ARCH}")
+        set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /machine:${CLR_CMAKE_TARGET_ARCH}")
+        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /machine:${CLR_CMAKE_TARGET_ARCH}")
+    endif()
 endif()
 
 # Compile options
 
 if (WIN32)
-    add_compile_options(-wd4820)
+    add_compile_options(-wd4100 -wd4514 -wd4668 -wd4710 -wd4711 -wd4820)
 endif()
 
+if(CLR_CMAKE_PLATFORM_UNIX)
+    add_compile_options(-fPIC)
+endif(CLR_CMAKE_PLATFORM_UNIX)
+
 MACRO(SUBDIRLIST result curdir)
   FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
   SET(dirlist "")
@@ -35,4 +66,3 @@ MACRO(ADDSUBDIR_REC  curdir)
 ENDMACRO()
 
 ADDSUBDIR_REC(${CMAKE_CURRENT_SOURCE_DIR})
-