source: sasview/sansmodels/generate_cmake.py @ 503a972

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since 503a972 was 503a972, checked in by Mathieu Doucet <doucetm@…>, 12 years ago

more include dir in a more sensible place

  • Property mode set to 100644
File size: 1.5 KB
Line 
1"""
2    Script to generate a CMakeLists.txt file for cmake
3   
4    python generate_cmake.py
5    cd [your build location not in the source tree]
6    cmake [path to directory containing CMakeLists.txt]
7    make
8   
9    That will produce a library libModels.a
10"""
11import os
12f = open("CMakeLists.txt", "w")
13
14cmakelist = """# CMakeLists for SANS models
15cmake_minimum_required (VERSION 2.6)
16project (SansModels)
17
18# Version number
19set (SansModels_VERSION_MAJOR 1)
20set (SansModels_VERSION_MAJOR 0)
21
22set (SRC_FILES
23"""
24
25source_dirs = ["src/c_models",
26               "src/libigor"]
27excluded_src = ["c_models.cpp",
28                "dispersion_visitor.cpp",
29                "disperser.c",
30                "winFuncs.c"]
31
32for src_dir in source_dirs:
33    for item in os.listdir(src_dir):
34        if item in excluded_src:
35            continue
36        ext = os.path.splitext(item)[1]
37        if ext in [".c",".cpp"]:
38            cmakelist += "    %s\n" % os.path.join(src_dir, item)
39
40cmakelist += "    )\n\n"   
41
42cmakelist += "set ( INC_FILES\n"   
43
44include_dirs = ["src/c_models",
45                "include",
46                "src/libigor"]
47
48for inc_dir in include_dirs:
49    for item in os.listdir(inc_dir):
50        ext = os.path.splitext(item)[1]
51        if ext in [".h",".hh"]:
52            cmakelist += "    %s\n" % os.path.join(inc_dir, item)
53   
54cmakelist += """
55)
56   
57include_directories (src/libigor include src/c_models)
58
59# Add the target for this directory
60add_library ( Models ${SRC_FILES} ${INC_FILES})
61"""
62
63f.write(cmakelist)
64f.close()
65
66   
Note: See TracBrowser for help on using the repository browser.