Преглед изворни кода

VS: Add test for MASM support

It is now expected to work with VS >= 10 and MSVC >= 13.1.
Brad King пре 11 година
родитељ
комит
df3b007d7f
5 измењених фајлова са 28 додато и 0 уклоњено
  1. 5 0
      Tests/CMakeLists.txt
  2. 10 0
      Tests/VSMASM/CMakeLists.txt
  3. 7 0
      Tests/VSMASM/foo.asm
  4. 4 0
      Tests/VSMASM/include/foo-proc.asm
  5. 2 0
      Tests/VSMASM/main.c

+ 5 - 0
Tests/CMakeLists.txt

@@ -1679,6 +1679,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/MFC")
   endif()
 
+  if(MSVC AND NOT MSVC_VERSION LESS 1310
+     AND NOT CMAKE_GENERATOR MATCHES "Visual Studio [6789]( |$)")
+    ADD_TEST_MACRO(VSMASM VSMASM)
+  endif()
+
   if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
     if(NOT MSVC60)
       ADD_TEST_MACRO(SBCS SBCS)

+ 10 - 0
Tests/VSMASM/CMakeLists.txt

@@ -0,0 +1,10 @@
+cmake_minimum_required(VERSION 2.8.12)
+project(VSMASM C ASM_MASM)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  add_definitions(-DTESTx64)
+else()
+  add_definitions(-DTESTi386)
+  set(CMAKE_ASM_MASM_FLAGS "${CMAKE_ASM_MASM_FLAGS} /safeseh")
+endif()
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
+add_executable(VSMASM main.c foo.asm)

+ 7 - 0
Tests/VSMASM/foo.asm

@@ -0,0 +1,7 @@
+ifndef TESTx64
+.386
+.model flat, c
+endif
+.code
+include <foo-proc.asm>
+end

+ 4 - 0
Tests/VSMASM/include/foo-proc.asm

@@ -0,0 +1,4 @@
+foo proc public
+  mov eax,0
+  ret
+foo endp

+ 2 - 0
Tests/VSMASM/main.c

@@ -0,0 +1,2 @@
+extern int foo(void);
+int main(void) { return foo(); }