[Cmake-commits] [cmake-commits] hoffman committed CMakeLists.txt NONE 1.1.2.2 example_dll.c NONE 1.1.2.2 example_dll.def NONE 1.1.2.2 example_dll_2.c NONE 1.1.2.2 example_dll_2.def NONE 1.1.2.2 example_exe.c NONE 1.1.2.2 example_exe.def NONE 1.1.2.2 example_mod_1.c NONE 1.1.2.2

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Oct 1 17:21:27 EDT 2009


Update of /cvsroot/CMake/CMake/Tests/ModuleDefinition
In directory public:/mounts/ram/cvs-serv11203/Tests/ModuleDefinition

Added Files:
      Tag: CMake-2-8
	CMakeLists.txt example_dll.c example_dll.def example_dll_2.c 
	example_dll_2.def example_exe.c example_exe.def 
	example_mod_1.c 
Log Message:
Merge in changes to CMake-2-8 RC 2


--- NEW FILE: example_dll_2.c ---
int example_dll_2_function(void) { return 0; }

--- NEW FILE: example_exe.c ---
extern int __declspec(dllimport) example_dll_function(void);
#ifdef _MSC_VER
extern int __declspec(dllimport) example_dll_2_function(void);
#endif
int example_exe_function(void) { return 0; }
int main(void)
{
  return
    example_dll_function() +
#ifdef _MSC_VER
    example_dll_2_function() +
#endif
    example_exe_function();
}

--- NEW FILE: example_dll_2.def ---
EXPORTS
example_dll_2_function

--- NEW FILE: example_dll.c ---
int example_dll_function(void) { return 0; }

--- NEW FILE: example_mod_1.c ---
#ifdef __WATCOMC__
# define MODULE_CCONV __cdecl
#else
# define MODULE_CCONV
#endif

int __declspec(dllimport) example_exe_function(void);
int __declspec(dllimport) example_dll_function(void);
#ifdef _MSC_VER
int __declspec(dllimport) example_dll_2_function(void);
#endif

__declspec(dllexport) int MODULE_CCONV example_mod_1_function(int n)
{
  return
    example_dll_function() +
#ifdef _MSC_VER
    example_dll_2_function() +
#endif
    example_exe_function() + n;
}

--- NEW FILE: example_exe.def ---
EXPORTS
example_exe_function

--- NEW FILE: CMakeLists.txt ---
cmake_minimum_required(VERSION 2.6)
project(ModuleDefinition C)

# Test .def file source recognition for DLLs.
add_library(example_dll SHARED example_dll.c example_dll.def)

# Test /DEF:<file> flag recognition for VS.
if(MSVC)
  add_library(example_dll_2 SHARED example_dll_2.c)
  set_property(TARGET example_dll_2 PROPERTY LINK_FLAGS
    /DEF:"${ModuleDefinition_SOURCE_DIR}/example_dll_2.def")
  set(example_dll_2 example_dll_2)
endif()

# Test .def file source recognition for EXEs.
add_executable(example_exe example_exe.c example_exe.def)
set_property(TARGET example_exe PROPERTY ENABLE_EXPORTS 1)
target_link_libraries(example_exe example_dll ${example_dll_2})

# Test linking to the executable.
add_library(example_mod_1 MODULE example_mod_1.c)
target_link_libraries(example_mod_1 example_exe example_dll ${example_dll_2})

--- NEW FILE: example_dll.def ---
EXPORTS
example_dll_function



More information about the Cmake-commits mailing list